Sponsored Content
The Lounge What is on Your Mind? Man Page Reformatted on Mobile (and Desktop) Post 303024101 by Neo on Saturday 29th of September 2018 11:43:00 PM
Old 09-30-2018
This messy, but effective, addlinks() PHP function I wrote many years ago for the man pages has been working well over the years and continues to work well today. The only recent change is to add class="neo-man-link" to the links:

Code:
function addlinks($output,$os,$section='',$origin=''){
    global $vbulletin, $col2_f;
    $style = ' style="font-size:1.2em;" class="neo-man-link" ';
    if($_GET['apropos'] == '1' && $col2_f == '2')
    {
      define('REGEX7',"/(\w[-\:.\+\w]*)\s*\((\d)?(\w+)?\)/");
      $rep_string="<a $style href=\"/man-page/$os/$2$3/$1/\">$1($2$3)</a>";
    }
    elseif($_GET['apropos'] == '1' && $col2_f == '1')
    {
      define('REGEX7',"/(\w[\-\:.\+\w]*)\s*\(([0-9])\)/");
      $rep_string="<a $style href=\"/man-page/$os/$2/$1/\">$1($2)</a>";
      $set2=TRUE;
    }
    else
    {
      define('REGEX7',"/(\w[-\:.\+\w]*)\s*\((\d)(\w+)?\)/");
      $rep_string="<a $style href=\"/man-page/$os/$2$3/$1/\">$1($2$3)</a>";
    }

    if ($_GET['apropos'] == '1'){

            if($set2)
             {
              $save = $output;
              $out =preg_replace(REGEX7, $rep_string, $output);
              if(preg_match('/\d/',$output))
                  $output = strtolower($out);
              else
                  $output = $save;
             }
            else
              {
              $output =preg_replace(REGEX7, $rep_string, $output);
              }
            $output = trim($output);
     }
    else {
            if (preg_match("/(\w[\-\:\.\w]*)\((\d)(\w+)\)/",$output))
            {
                 $output=preg_replace(REGEX7, $rep_string, $output);
            }
            else 
            {
               $output=preg_replace("/(\w[\-\:\.\w]*)\((\d)\)/",
               "<a $style href=\"/man-page/$os/\\2/\\1/\">\\1(\\2)</a>",$output);
            }
        }
    $output=ltrim($output);
    return $output;
}

 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

how do you create a man page?

i've never done this before. i created a script that I placed in /usr/bin, but want to create a man page for it. i'm clueless thanks (3 Replies)
Discussion started by: theDirtiest
3 Replies

2. UNIX for Dummies Questions & Answers

adding a man page

I was wonderiong if ther is a way for a user to add a man page specific to thier account. similar to copying the .1 or .1.gz to /usr/share/man/man1 "cp *.1.gz /usr/share/man/man1". Except for using another folder as I don't have access to /usr/share/man/man1. I would think that this might involve... (1 Reply)
Discussion started by: jacob358
1 Replies

3. Red Hat

scp-1.2.27 man page

Hi Guys, I'm looking for the man page for scp version 1.2.27 I have an old redhat server that has a few large scripts that use this version and I want to know what the -A flag does and the man page is not on there. (4 Replies)
Discussion started by: Tornado
4 Replies

4. UNIX for Advanced & Expert Users

man page issue

Man page is not working my system. It is giving the following the following error > man ls gdbm fatal: read error with debug option > man -d ls ... .... ... ... using less as pager checking for locale en_US add_nls_manpath(): processing /usr/local/man:/usr/share/man:/usr/X11R6/man... (4 Replies)
Discussion started by: praveenkumar_l
4 Replies

5. Solaris

Unable to get help from man page

Help, it seem that i am unable to get man help form solaris 10. I am running SunOS unknown 5.10 Generic_120012-14 i86pc i386 i86pc when ever i try to man a command what i get is "No manual entry" like the one below. # man grep No manual entry for grep. # man ls No manual entry for ls.... (8 Replies)
Discussion started by: ezsurf
8 Replies

6. Solaris

man page question

What does the last change means in man page .. does that this man page has not been updated since 2003 or something else ? newfs-options The options are documented in the newfs man page. SunOS 5.10 Last change: 9 Dec 2003 1 System... (2 Replies)
Discussion started by: fugitive
2 Replies

7. What is on Your Mind?

Reformatted Advanced UNIX.COM Search Page (Desktop)

Just enabled Bootstrap for the advanced forum search page (desktop view): https://www.unix.com/search.php That' page still needs work, and to be converted from <table> elements to <div> elements, and to be redesigned, but in the meantime, it's OK using Bootstrap CSS. Note: Before, we had... (0 Replies)
Discussion started by: Neo
0 Replies
PREG_MATCH(3)								 1							     PREG_MATCH(3)

preg_match - Perform a regular expression match

SYNOPSIS
int preg_match (string $pattern, string $subject, [array &$matches], [int $flags], [int $offset]) DESCRIPTION
Searches $subject for a match to the regular expression given in $pattern. PARAMETERS
o $pattern - The pattern to search for, as a string. o $subject - The input string. o $matches - If $matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on. o $flags -$flags can be the following flag: o PREG_OFFSET_CAPTURE - If this flag is passed, for every occurring match the appendant string offset will also be returned. Note that this changes the value of $matches into an array where every element is an array consisting of the matched string at offset 0 and its string offset into $subject at offset 1. o $offset - Normally, the search starts from the beginning of the subject string. The optional parameter $offset can be used to specify the alternate place from which to start the search (in bytes). Note Using $offset is not equivalent to passing substr($subject, $offset) to preg_match(3) in place of the subject string, because $pattern can contain assertions such as ^, $ or (?<=x). Compare: <?php $subject = "abcdef"; $pattern = '/^def/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3); print_r($matches); ?> The above example will output: Array ( ) while this example <?php $subject = "abcdef"; $pattern = '/^def/'; preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE); print_r($matches); ?> will produce Array ( [0] => Array ( [0] => def [1] => 0 ) ) RETURN VALUES
preg_match(3) returns 1 if the $pattern matches given $subject, 0 if it does not, or FALSE if an error occurred. Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.3.6 | | | | | | | Returns FALSE if $offset is higher than $subject | | | length. | | | | | 5.2.2 | | | | | | | Named subpatterns now accept the syntax | | | (?<name>) and (?'name') as well as (?P<name>). | | | Previous versions accepted only (?P<name>). | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 Find the string of text "php" <?php // The "i" after the pattern delimiter indicates a case-insensitive search if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "A match was found."; } else { echo "A match was not found."; } ?> Example #2 Find the word "web" <?php /* The  in the pattern indicates a word boundary, so only the distinct * word "web" is matched, and not a word partial like "webbing" or "cobweb" */ if (preg_match("/web/i", "PHP is the web scripting language of choice.")) { echo "A match was found."; } else { echo "A match was not found."; } if (preg_match("/web/i", "PHP is the website scripting language of choice.")) { echo "A match was found."; } else { echo "A match was not found."; } ?> Example #3 Getting the domain name out of a URL <?php // get host name from URL preg_match('@^(?:http://)?([^/]+)@i', "http://www.php.net/index.html", $matches); $host = $matches[1]; // get last two segments of host name preg_match('/[^.]+.[^.]+$/', $host, $matches); echo "domain name is: {$matches[0]} "; ?> The above example will output: domain name is: php.net Example #4 Using named subpattern <?php $str = 'foobar: 2008'; preg_match('/(?P<name>w+): (?P<digit>d+)/', $str, $matches); /* This also works in PHP 5.2.2 (PCRE 7.0) and later, however * the above form is recommended for backwards compatibility */ // preg_match('/(?<name>w+): (?<digit>d+)/', $str, $matches); print_r($matches); ?> The above example will output: Array ( [0] => foobar: 2008 [name] => foobar [1] => foobar [digit] => 2008 [2] => 2008 ) NOTES
Tip Do not use preg_match(3) if you only want to check if one string is contained in another string. Use strpos(3) or strstr(3) instead as they will be faster. SEE ALSO
PCRE Patterns, preg_quote(3), preg_match_all(3), preg_replace(3), preg_split(3), preg_last_error(3). PHP Documentation Group PREG_MATCH(3)
All times are GMT -4. The time now is 06:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy