Lorsque j'exécute le code suivant; Je reçois une erreur de seg à chaque fois! Est-ce un bug connu? Comment puis-je faire fonctionner ce code?La fonction preg_replace génère une erreur de segmentation
<?php
$doc = file_get_contents("http://prairieprogressive.com/");
$replace = array(
"/<script([\s\S])*?<\/ ?script>/",
"/<style([\s\S])*?<\/ ?style>/",
"/<!--([\s\S])*?-->/",
"/\r\n/"
);
$doc = preg_replace($replace,"",$doc);
echo $doc;
?>
L'erreur (évidemment) ressemble à:
[[email protected] 2.0]# php test.php
Segmentation fault (core dumped)
Avez-vous déjà pensé à utiliser un [analyseur HTML approprié] (http://stackoverflow.com/questions/3650125/how-to-parse-html-with-php-closed)? – Gumbo
Juste comme une note, je pense qu'il vous manque le '>' après le script et les balises de style. – GWW
Montrez-nous l'erreur réelle. Si vous obtenez un segfault, c'est probablement un problème avec votre installation de PHP. Ou un bug. De toute façon, suivez les conseils de @ Gumbo et utilisez un analyseur HTML. – Cfreak