tekst bestand uitlezen en zoeken op specifieke tekst
alleen hoe krijg ik die tekst in een variable gestopt zo dat ik hier mee verder kan ...? Ik zie op het ogenblik het complete tekst bestand verschijnen op het scherm..?
php code (heb hem gepost zonder mijn formulier --> heb even een vast waarde ingevuld (q)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// show.php
// De 2 variabelen hieronder geef je mee aan deze pagina als show.php?q=zoekterm&filename=test.htm
// zoekterm
//$q = $_GET['q'];
$q = "Computer Name: Henk-vista (";
// pagina waarin term staat
$filename = $_GET['filename'];
if(isset($q) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
// zoekterm vet maken en grijs achtergrondje geven
$content = preg_replace('/'.preg_quote($q).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
echo "<b> content </b>";
echo $content;
}
?>
// show.php
// De 2 variabelen hieronder geef je mee aan deze pagina als show.php?q=zoekterm&filename=test.htm
// zoekterm
//$q = $_GET['q'];
$q = "Computer Name: Henk-vista (";
// pagina waarin term staat
$filename = $_GET['filename'];
if(isset($q) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
// zoekterm vet maken en grijs achtergrondje geven
$content = preg_replace('/'.preg_quote($q).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
echo "<b> content </b>";
echo $content;
}
?>
Stuk tekst uit mijn bestand
content Belarf Advisor Current Profirb The license associated with the Belarc Advisor product allows for free personal use only. Use on multiple computers in a corporate, educational, military or government installation is prohibited. See the license agreement for details. The information on this page was created locally on your computer by the Belarc Advisor. Your computer profile was not sent to a web server. Click here for more info. About Belarc System Management Products Your Privacy In page Links: Network Map new Software Licenses Software Versions & Usage new Missing Hotfixes Installed Hotfixes System Security StatusCIS Benchmark Score Available only for Windows 2000, XP Pro, and 2003 Virus Protection Up-to-date Microsoft Security Updates 12 missing Computer Profile Summary Computer Name: Henk-vista (in WORKGROUP) Profile Date
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$q == $string;
$start = "Computer Name:";
$end = "(in WORKGROUP)";
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$pcnaam = string_between($string, $start, $end)
?>
$q == $string;
$start = "Computer Name:";
$end = "(in WORKGROUP)";
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$pcnaam = string_between($string, $start, $end)
?>
Dit zou de oplossing moeten zijn :)
Gewijzigd op 01/01/1970 01:00:00 door Kilian Janssen
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
// zoekterm vet maken en grijs achtergrondje geven
$content = preg_replace('/'.preg_quote($q).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
Zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if(isset($q) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
$guest_data == $string;
$start = "Computer Name:";
$end = "(in WORKGROUP)";
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$pcnaam = string_between($string, $start, $end)
// zoekterm vet maken en grijs achtergrondje geven
$content = preg_replace('/'.preg_quote($q).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
echo "<b> content </b>";
echo $pcnaam;
}
?>
if(isset($q) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
$guest_data == $string;
$start = "Computer Name:";
$end = "(in WORKGROUP)";
function get_string_between($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$pcnaam = string_between($string, $start, $end)
// zoekterm vet maken en grijs achtergrondje geven
$content = preg_replace('/'.preg_quote($q).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
echo "<b> content </b>";
echo $pcnaam;
}
?>
Is dit trouwens geen type fout $ini += strlen($start); moet dit niet zijn $ini == strlen($start); (dus een dubbel = teken)? Die $len waarde krijg ik 24 van terug als ik hem echo?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
// show.php
// De 2 variabelen hieronder geef je mee aan deze pagina als show.php?q=zoekterm&filename=test.htm
// zoekterm
//$q = $_GET['q'];
// pagina waarin term staat
//$filename = $_GET['filename'];
$string = "Computer Name: Henk-vista (in WORKGROUP)";
$filename = "henk-vista.txt";
//$q = $string;
if(isset($string) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
$content = preg_replace('/'.preg_quote($string).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
$start = "Computer Name:";
$end = "(in WORKGROUP)";
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
$gestript = substr($string,$ini,$len);
echo "gestript $gestript";
echo "<br>";
//echo "Guest data $guest_data";
}
?>
// show.php
// De 2 variabelen hieronder geef je mee aan deze pagina als show.php?q=zoekterm&filename=test.htm
// zoekterm
//$q = $_GET['q'];
// pagina waarin term staat
//$filename = $_GET['filename'];
$string = "Computer Name: Henk-vista (in WORKGROUP)";
$filename = "henk-vista.txt";
//$q = $string;
if(isset($string) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
$content = preg_replace('/'.preg_quote($string).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
$start = "Computer Name:";
$end = "(in WORKGROUP)";
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
$gestript = substr($string,$ini,$len);
echo "gestript $gestript";
echo "<br>";
//echo "Guest data $guest_data";
}
?>
Dit werkt. Heb alleen jouw functie definities aangepast en toen werkte het "spontaan" Is het ook mogelijk om een wildcard op te geven.
De pcnaam verandert bij elke pc $string = "Computer Name: Henk-vista (in WORKGROUP)"; in bijvoorbeeld $string = "Computer Name: $wildcard (in WORKGROUP)";
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door piet
En natuurlijk kan dat, dit stukje code pakt gewoon de string tussen 2 andere strings (Computer Name: & (in WORKGROUP). Dus dan maakt het niet uit wat er tussen staat, hij zal het er altijd uit halen.
Groetjes.
Als ik het zo doe krijg ik als output: gestript & en dat is niet de bedoeling
$string = "(Computer Name: & (in WORKGROUP)";
$filename = "henk-vista.txt";
//$q = $string;
if(isset($string) && isset($filename))
{
// lees data van doelpagina in
if(file_exists($filename)) {
$fp = fopen($filename, "r");
$guest_data = fread($fp, filesize($filename));
fclose($fp);
}
$content = preg_replace('/'.preg_quote($string).'/i' , '<font style="BACKGROUND-COLOR: #AEEEEE"><b>$0</b></font>', $guest_data);
$start = "Computer Name:";
$end = "(in WORKGROUP)";
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
$gestript = substr($string,$ini,$len);
echo "gestript $gestript";
echo "<br>";
//echo "Guest data $guest_data";
}
?>