Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
regulärer ausdruck [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
regulärer ausdruck


 
resTive
23-09-2006, 16:21 
 
Hi Leuts,

ich hab folgendes problem, ich möchte mit hilfe eines regulären ausdrucks einen text ersetzen, der sich nicht innerhalb irgendeines html tags befindet (nur sichtbarer content).

so folgender art ungefähr:

<a href="http://www.meineseite.de">meineseite.de</a>

ändern in
<a href="http://www.meineseite.de"><span>meineseite</span><span>.de<span></a>

wobei meine meineseite.de und <span>meineseite</span><span>.de<span> konstant wären.

mein kenntnisstand über regex hält sich sehr in grenzen. und mir fehlt irgendwie der ansatz.

wäre also schön, wenn mir jemand damit helfen könnte. es muss nicht zwingend ein fertiger regulärer ausdruck sein. eine richtungsweisende hilfestellung würde ich schon begrüßen :)

danke
resTive

 
subabrain
23-09-2006, 16:39 
 
Hallo resTive,

dazu schaust du hier http://regexlib.com/default.aspx nach regulären ausdrücken für html hyperlinks - anschließend kombinierst du das mit preg_replace welches du auf php.net nachliest - dann hast du die Lösung in der Hand!

gruß
Robert

 
resTive
23-09-2006, 16:51 
 
werde ich mich mal umschauen.

danke

 
Greaseball
20-11-2006, 13:07 
 
Hallo.

Ich suche in etwa das ähnliches.
Hab auch schon soweit preg_match_all usw in Arbeit.

Nun bin ich aber auf ein Problem gestossen und dies hängt wohl mit dem regulären Ausdruck zusammen.

Beispiel:
Ich suche mit preg_match_all nach einem bestimmten Wort ( als Beispiel nehme ich das Wort 'test').
Nun möchte ich aber nur noch Wörter suchen die Test, test oder TEsT heißen. Er gibt mir aber auch das Suchwort zurück wenn er auf Wörter stößt wie 'testen' oder 'Tester'.

Wie kann ich preg_match_all beibringen das vor und nach dem Suchmuster keine weiteren Zeichen sein dürfen?

Vielen Dank für evtll. Antworten im Vorraus

 
prego
20-11-2006, 13:29 
 
hmm, indem du einfach nach " test " suchst?

 
Greaseball
20-11-2006, 13:34 
 
hm.... das tu ich, aber der regulärer Ausdruck sucht nicht nur nach 'Test' sondern auch nach 'Tester'

Regulärer Ausdruck
'/Test/'i

Wie kann ich den Ausruck nun dazu bringen nur nach 'Test' zu suchen?

 
prego
20-11-2006, 13:49 
 
Original geschrieben von prego
hmm, indem du einfach nach " test " suchst?

(Leerzeichen vor und hinter deinem Wort)

$regexp = "/ test /i";

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:50 Uhr.