Замените некоторые строки в PHP регулярным выражением?

Мне нужно сделать обычное регулярное выражение и заменить PHP на мой скрипт подсветки синтаксиса в PHP.

Мне нужно взять строку кода, которая на самом деле будет целым файлом php, который считывается в такую ​​строку.

$code_string = 'the whole source code of a php file will be held in this string'; 

И затем найдите все их вхождения и замените …

Найдите: [php] и замените на <pre class="brush: php;">
Найдите: [/ php] и замените на </pre>

Найдите [javascript] и замените на <pre class="brush: js;">
Найдите: [/ javascript] и замените на </pre>

Я действительно не хорошо с регулярным выражением, может кто-нибудь, пожалуйста, помогите мне с этим?

Solutions Collecting From Web of "Замените некоторые строки в PHP регулярным выражением?"

Для замены строк в строках вы можете просто str_replace(); , Если я правильно понимаю ваш вопрос, он будет выглядеть примерно так:

 $code_string = htmlentities(file_get_contents("file.php")); $old = array("[php]","[javascript]","[/php]","[/javascript]"); $new = array('<pre class="brush: php;">','<pre class="brush: js;">','</pre>','</pre>'); $new_code_string = str_replace($old,$new,$code_string); echo $new_code_string; 
 $out = preg_replace( array( '/\<\?(php)?(.*)\?\>/s', '/\<script(.*) type\=\"text\/javascript\"(.*)\>(.+)\<\/script\>/s' ), array( '<pre class="brush: php;">$2</pre>', '<pre class="brush: js;">$3</pre>' ), $code ); 

Будет заменен любой PHP-источник в тегах open и close (короткий и длинный), заменит любой источник JS в тегах скриптов хотя бы одним символом (избежит тегов скриптов, связанных с исходными файлами javascript).