Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pomoc z preg_replace
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Witam,

mam na stronie kod html w postaci:

Kod
<pre class="bbcode_code" style="height:372px;">
TREŚĆ .......
</pre>


jest on w zmiennej ten kod i cała reszta jest w zmiennej $tresc

I chciałbym wstawić coś przed <pre class .... powiedzmy zawartość zmiennej $add aby uzyskać:

Kod
$add
<pre class="bbcode_code" style="height:372px;">
TREŚĆ .......
</pre>


Tylko nie wiem jak ułożyć preg_replace aby dołożyć zawartość zmiennej na początku..próbuję tak:

  1. $tresc = preg_replace('/<pre class="bbcode_code"style="height:372px;">([^"]*)</pre>/', $add.'<pre class="bbcode_code"style="height:372px;">\\1</pre>', $tresc);


--------------------
GG: 564555
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


prawie prawie smile.gif tylko dokładasz drugi raz tag <pre>
zmień tylko nawiasy i będzie ok:
  1. $tresc = preg_replace('/(\<pre class\=\"bbcode_code\" style\=\"height\:372px;\"\>[^"]+\<\/pre\>)/', $add.'<pre class="bbcode_code"style="height:372px;">\\1</pre>', $tresc);

tak na szybko z palca, ale chyba powinno działać
sory za przesadzone \, ale profilaktycznie, dopiero wstałem i nie kontaktuje biggrin.gif
ah jeszcze edit:
możesz tutaj wykorzystać preg_replace_callback
wtedy będziesz mógł bardziej poszaleć

Ten post edytował Daimos 25.02.2012, 12:02:07


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
by_ikar
post
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


  1. <?php
  2.  
  3. $str = '<pre class="bbcode_code" style="height:372px;">
  4. TREŚĆ .......
  5. </pre>';
  6.  
  7. $add = 'ciag ktory zostanie dodany ';
  8.  
  9. $res = preg_replace('#(<pre class="bbcode_code"[^>]*>[^<]+</pre>)#', $add.'$1', $str);
  10.  


Z tym wyrażeniem, to @daimos trochę przekombinowałeś, zwłaszcza z escapowaniem.. htmlspecialchars, jest tylko po to żebyś widział co dokładnie jest w zmiennej $res.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 08:19