Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_replace_callback zamienia tylko jeden ciąg
Bielo
post 4.04.2004, 17:38:35
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

Ostrzeżenie: (0%)
-----


mam taki kod:
[php:1:3936cfb2d1]<?php
function code($tekst)
{
$tekst=nl2br($tekst);
$tekst=preg_replace_callback("!([kod])(<br />rn*)(.+)[/kod]!Us", "znacznik_kod", $tekst);
$tekst=preg_replace_callback("!(
  1. <?php
  2. )(.+)
  3. ?>
!Us", "znacznik_php", $tekst);
$tekst=preg_replace_callback('!]*)](.*)!Us','znacznik_url', $tekst);
$tekst=preg_replace_callback('!(.*)!Us','znacznik_url', $tekst);
$tekst=preg_replace_callback('![img=([^]]*)]!Us','znacznik_img', $tekst);
$tekst=znacznik_cytuj($tekst);
$tekst=style($tekst);
$tekst=emotikony($tekst);
return $tekst;
}
?>[/php:1:3936cfb2d1]

Wszystko działa ok jeśli w stringu $tekst jest maksymalnie tylko jeden znacznik otwierający i zamykający każdego typu.

Jeśli zrobie np 2 razy
Kod
[kod]123[/kod]snfhsgdkfjs[kod]345[/kod]

to już się wykrzacza i zamienia tylko pierwsze wystąpienie ciągu


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:05