Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_replace() nie bierze wyrażenia
Kloc
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

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


Witam. Dziś mam problem taki, że preg_replace nie może przerobić wyrażenia i nic nie wywala.

Robię tak i nie działa
  1. $string = preg_replace('#('.htmlspecialchars('<?php').')#i', htmlspecialchars_decode('<span style="color:red;">').htmlspecialchars('!\\1').htmlspecialchars_decode('</span>'), $string);


A to działa i chodzi mi o ten sam efekt
  1. $string = str_replace(htmlspecialchars('<?php'), htmlspecialchars_decode('<span style="color:red;">').htmlspecialchars('!<?php').htmlspecialchars_decode('</span>'), $string);


W pierwszym przykładzie błąd leży w zapisie- składni, a muszę użyć preg_replace bo tam sobie mogę uwzglądnić wielkość liter 'i' i nie muszę robić tego samego 2 razy w str_replace.
Robiłem to już na wszystkie sposoby jakie mi przychodzą do głowy i nic.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





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 = '<?php
  4.  
  5. $var = "test";
  6.  
  7. //some comment
  8.  
  9. /** some function **/
  10. function foo()
  11. {
  12. return true;
  13. }';
  14.  
  15.  
  16. $callback = function($matches) {
  17. return '<span style="color:red;">'.$matches[0].'</span>';
  18. };
  19.  
  20. $res = preg_replace_callback('#&lt;\?php#i', $callback, htmlspecialchars($str));
  21.  
  22.  
  23. echo nl2br($res);


Heh oczywiście forum zmieniło

Kod
&lt;\?php


na

Kod
<\?php


Więc nie zapomnij tego poprawić u siebie. Dodatkowo polecam ci już zrobienie czegoś takiego w JS, co by nie potrzebnie męczyć serwer. Jest kilka fajnych już gotowych libów, z czego najbardziej przypadła do gustu mi ta: https://code.google.com/p/google-code-prettify/

Ten post edytował by_ikar 29.07.2014, 12:41:56
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 14:32