lynx
: A Text Browser (Cont.)
The following interface demonstrates how to use lynx
in PHP scripts.
This interface searches the URL content for the lines containing the keyword.
Displaying the Lines in the URL Content Containing the Keyword
|
|
http://undcemcs01.und.edu/~wen.chen.hu/course/515/2/Lynx.php
|
|
<?php
# Remove leading and trailing spacing.
$URL = trim( $_POST["URL"] );
$keyword = trim( $_POST["keyword"] );
# For security, remove some Unix metacharacters.
$meta = array( ";", ">", ">>", ";", "*", "?", "&", "|" );
$URL = str_replace( $meta, "", $URL );
$keyword = str_replace( $meta, "", $keyword );
if ( $_POST['act'] == "Search the URL content" ) {
header( "Content-type: text/plain" );
$cmd = "lynx -dump -source '" . $URL . "' > result.txt";
echo ( $cmd . "\n\n" );
system( "chmod 777 result.txt ../2/" );
system( $cmd );
system( "chmod 755 result.txt ../2/" );
$cmd = "grep $keyword result.txt";
echo ( $cmd . "\n\n\n" );
system( $cmd );
}
elseif ( $_POST["act"] == "Display the URL content" ) {
header( "Content-type: text/plain" );
$cmd = "lynx -dump -source '" . $URL . "' > result.txt";
echo ( $cmd . "\n\n\n" );
system( "chmod 777 result.txt ../2/" );
system( $cmd );
system( "chmod 755 result.txt ../2/" );
system( "cat result.txt" );
}
elseif ( $_POST["act"] == "Help" ) {
header( "Content-type: text/html" );
$file = fopen( "Help.html", "r" ) or
exit( "Unable to open file!" );
while ( !feof( $file ) )
echo fgets( $file );
fclose( $file );
}
else {
header( "Content-type: text/html" );
echo( "<html><body>" );
echo( "<h3>No such option: " . $_POST["act"] . "" );
echo( "</body></html>" );
}
?>
|
The following PHP and Unix functions are used:
- PHP
trim(string)
:
Removes whitespace or other characters from both sides of a string.
- PHP
str_replace(find,replace,string)
:
Replaces some characters in a string (case-sensitive).
- PHP
system(command)
:
Executes an external program and display the output.
- Unix
chmod MODE FILE
:
Changes the permission of a file.
- Unix
grep PATTERN [FILE]
:
Finds text within a file.