preg_replace links
Hai.
Kom er niet helemaal uit.
Ik wil uit een tekst alle links verwijderen maar de tekst behouden met een preg_replace.
Ook mogen de mailto: en bijv tel: niet gereplaced worden.
vb.
<a href="test.html">test</a> wordt test
<a href="./test.html">test</a> wordt test
<a href="/test.html">test</a> wordt test
<a href="http://www.test.html">test</a> wordt test
<a href="https://www.test.html">test</a> wordt test
<a href="mailto:test@test.nl">test</a> blijft <a href="mailto:test@test.nl">test</a>
<a href="tel:34234234">test</a> blijft <a href="tel:34234234">test</a>
iemand enig idee ??
alvast bedankt
Kom er niet helemaal uit.
Ik wil uit een tekst alle links verwijderen maar de tekst behouden met een preg_replace.
Ook mogen de mailto: en bijv tel: niet gereplaced worden.
vb.
<a href="test.html">test</a> wordt test
<a href="./test.html">test</a> wordt test
<a href="/test.html">test</a> wordt test
<a href="http://www.test.html">test</a> wordt test
<a href="https://www.test.html">test</a> wordt test
<a href="mailto:test@test.nl">test</a> blijft <a href="mailto:test@test.nl">test</a>
<a href="tel:34234234">test</a> blijft <a href="tel:34234234">test</a>
iemand enig idee ??
alvast bedankt
Gewijzigd op 05/08/2011 14:06:32 door Ceasar Feijen
Gesponsorde koppelingen:
Zoiets?
Je moet nog wel even goed testen of dit in alle gevallen het gewenste resultaat levert. Dit heb ik even snel neergeschreven...
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
$text = '<a href="test.html">test</a>
<a href="./test.html">test</a>
<a href="/test.html">test</a>
<a href="http://www.test.html">test</a>
<a href="https://www.test.html">test</a>
<a href="mailto:test@test.nl">test</a>
<a href="tel:34234234">test</a>';
$text = preg_replace('_<a href="(?!mailto:)(?!tel:)[^"]+[^>]*>(.+?)</a>_', '$1', $text);
echo '<pre>'.print_r(htmlentities($text), true).'</pre>';
?>
$text = '<a href="test.html">test</a>
<a href="./test.html">test</a>
<a href="/test.html">test</a>
<a href="http://www.test.html">test</a>
<a href="https://www.test.html">test</a>
<a href="mailto:test@test.nl">test</a>
<a href="tel:34234234">test</a>';
$text = preg_replace('_<a href="(?!mailto:)(?!tel:)[^"]+[^>]*>(.+?)</a>_', '$1', $text);
echo '<pre>'.print_r(htmlentities($text), true).'</pre>';
?>
Je moet nog wel even goed testen of dit in alle gevallen het gewenste resultaat levert. Dit heb ik even snel neergeschreven...
Thanks :-)
werkt perfect
werkt perfect



