^ tegnet, siger at det skal være det allerførste tegn i strengen, 'b' er det første tegn i dit andet eksempel, derfor det virker.
du kunne måske lave noget alá:
#<a(.*?)>#is
Jeg plejer at bruge POSIX (ereg_replace()), og ikke PCRE (preg_replace).
Regular expressions er ikke min stærke side, og dette er ikke testet.
ereg_replace("#<a(.*?)>#is","\\\\1",$html);
Du kan jo lege meget med det, og f.eks. kun tage det der står i "href", eller noget.
ereg_replace("#<a(?:.*?)href\\=[\\"|\\'][ht|f]tp\\:\\/\\/(.*?)[\\"|\\'](?:.*?)>#is","\\\\\\1",$html);
ikke testet overhovedet, bare lige ca..
Mere læsning:
http://spellbook.infinitiv.it/2006/07/12/php-regular-expressions.htm
Indlæg senest redigeret d. 26.07.2006 18:20 af Bruger #6546