PDA

Bekijk Volledige Versie : [PHP] ereg_replace probleem



Maarten Wierda
12/12/02, 16:03
Hi n.i.w.s-s mensen,

Ik heb het volgende script:

<?php

$string = "

<a href=http://www.domein1.com target=_blank>Naam bedrijf1</a>
<a href=http://www.domein2.com target=_blank>Naam bedrijf2</a>
<a href=http://www.domein3.com target=_blank>Naam bedrijf3</a>

";

$patroon = "<a href="; // <a href
$patroon .= "([[:alnum:][:punct:]]+)"; // URI 23:37 style
$patroon .= " target=_blank>"; // rest <a> tag
$patroon .= "([[:alnum:][:punct:][:space:]]+)"; // weergave naam
$patroon .= "</a>"; // afsluiten <a>

$tekst = ereg_replace($patroon, "\\2 [\\1]", $string);

echo "$tekst";
?>

Ik wil dat de output als volgt wordt:

------------------------------------------------------------------------------------
Naam bedrijf1 [http://www.domein1.com]
Naam bedrijf2 [http://www.domein2.com]
Naam bedrijf3 [http://www.domein3.com]
------------------------------------------------------------------------------------

Alleen alles tussen "<a" en "</a>" wordt nu vervangen. De (ongewenste)
output is nu:

------------------------------------------------------------------------------------
Naam bedrijf1</a>
<a href=http://www.domein2.com target=_blank>Naam bedrijf2</a>
<a href=http://www.domein3.com target=_blank>Naam bedrijf3
[http://www.domein1.com]
------------------------------------------------------------------------------------

Iemand enig idee hoe ik dan kan verhelpen? Het zogenaamde anchoren geeft
ook niet het gewenste resultaat. Hoe geef ik dus aan dat 'ie na iedere
gesloten anchor-tag (</A>)weer opnieuw moet gaan zoeken?

Alvast bedankt,

--
Cheers, Maarten Wierda

Maarten Wierda
13/12/02, 10:55
Maarten Wierda wrote:

> Hi n.i.w.s-s mensen,
>
> Ik heb het volgende script:

[snip]

Ben er al uit, voor de nieuwsgierigen:

<?php

$string = "

<a href=\"http://www.domein1.com\" target=_blank>Naam bedrijf1</a>
<a href=\"http://www.domein2.com\" target=_blank>Naam bedrijf2</a>
<a href=\"http://www.domein3.com\" target=_blank>Naam bedrijf3</a>

";

$text=preg_replace("/\<a href=\"(.*?)\"(.*?)\>(.*?)\<\/a\>/im","\\3 [<a
href=\"\\1\" \\2>\\1</a>]<br />",$string);

echo $text;

?>

--
Cheers, Maarten Wierda