string uit string halen.
Ik loop tegen een probleempje aan.
Ik wil uit de string "[include=test.htm]" "test.htm" halen. echter staat de 1e string ergens in een htm bestand.
Ik moet dus opzoek naar het patroon [include= ] en daar het bestand uithalen. preg_replace zal de oplossing zijn, ik word alleen niks wijzer van de teken reeks die nodig is om mijn doel te bereiken.
Kan iemand mij opweg helpen?
je verhaal is niet echt duidelijk.
Kan je het misschien verduidelijken dmv een stuk script.
maar nu wil je de die BESTANDSNAAM uit je text halen ? maar wat wil je hier dan met doen ? ik veronderstel dat je die bestandsnaam dan in je text wilt toevoegen ? bv een stuk text ?
Edit:
dus stel ik heb:
dan wil ik de bestdandsnaam gebruiken om die contents op te halen en ook door me template parser heen te halen en op diezelfde locatie te plaatsten
dus stel ik heb:
dan wil ik de bestdandsnaam gebruiken om die contents op te halen en ook door me template parser heen te halen en op diezelfde locatie te plaatsten
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (isset($_GET['url'])){
$text = fopen($_GET['url']);
$includesarray = preg_replace('/\(.*?)[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray)
echo '<ul>' . "\n";
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
echo '</ul>' . "\n";
}
echo '<form action="" method="GET">' . "\n";
echo '<p><input type="text" name="url"> Het bestand</p>' . "\n";
echo '<p><input type="submit" value="[include=*] Haal alle waardes op de plaats van het sterretje weg."' . "\n";
echo '</form>';
?>
if (isset($_GET['url'])){
$text = fopen($_GET['url']);
$includesarray = preg_replace('/\(.*?)[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray)
echo '<ul>' . "\n";
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
echo '</ul>' . "\n";
}
echo '<form action="" method="GET">' . "\n";
echo '<p><input type="text" name="url"> Het bestand</p>' . "\n";
echo '<p><input type="submit" value="[include=*] Haal alle waardes op de plaats van het sterretje weg."' . "\n";
echo '</form>';
?>
Ik ga m nu testen.
en een 2e syntax mist bij je fopen functie.
vervolgens is er iets mis in je preg_replace()
Warning: preg_replace() [function.preg-replace]: Compilation failed: missing terminating ] for character class at offset 27 in f:\wamp\www\OOP\classes\test.php on line 4
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if (isset($_GET['url'])){
$text = fopen($_GET['url'], 'r');
$includesarray = preg_replace('/(.*?)\[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray);
echo '<ul>' . "\n";
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
echo '</ul>' . "\n";
}
?>
if (isset($_GET['url'])){
$text = fopen($_GET['url'], 'r');
$includesarray = preg_replace('/(.*?)\[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray);
echo '<ul>' . "\n";
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
echo '</ul>' . "\n";
}
?>
<form action="" method="GET">
<p><input type="text" name="url"> Het bestand</p>
<p><input type="submit" value="[include=*] Haal alle waardes op de plaats van het sterretje weg">.</p>
</form>
Resource id #3
Edit:
bedankt iig vast voor de hulp allen, ben blij dat ik zo snel geholpen word. Zal zeker doorgaan met anderen helpen hier:)
Edit:
mijn fout! ik zie dat het al werkt. de preg_replace werkt prima! bedankt voor de hulp1
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
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
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
<?php
if (is_file(@$_GET['url'])){
$text = readfile($_GET['url']);
?>
<pre>
<?php
echo nl2br($text) . "\n";
?>
</pre>
<?php
$includesarray = preg_replace('/(.*?)\[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray);
?>
<ul>
<?php
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
?>
</ul>
<?php
}
?>
<form action="" method="GET">
<p><input type="text" name="url"> Het bestand</p>
<p><input type="submit" value="[include=*] Haal alle waardes op de plaats van het sterretje weg">.</p>
</form>
if (is_file(@$_GET['url'])){
$text = readfile($_GET['url']);
?>
<pre>
<?php
echo nl2br($text) . "\n";
?>
</pre>
<?php
$includesarray = preg_replace('/(.*?)\[include=(.*?)\](.*?)/si', '$2;', $text);
$includes = explode(';', $includesarray);
?>
<ul>
<?php
foreach ($includes as $include){
echo '<li>' . $include . '</li>' . "\n";
}
?>
</ul>
<?php
}
?>
<form action="" method="GET">
<p><input type="text" name="url"> Het bestand</p>
<p><input type="submit" value="[include=*] Haal alle waardes op de plaats van het sterretje weg">.</p>
</form>
zie ook http://phphulp.jonathanhogervorst.com/include.php3?url=test.txt
mag ik het script eens zien wat je ervan hebt gemaakt?????????????
stuur me ff een pm-etje met het script, please???????