bonjour
Mes settings
OS windows 8.1
http Apache/2.4.7 (Win32)
php version 5.5.8
php library : ereg Regex Library Bundled library enabled
php file : joomla
------------------
j ai dans un fichier html utf8 plusieurs liens href="/css/style.css" ou src="/js/style.js"
pour les path vers css et js je souhaite avoir href="./css/style.css" ou src="./js/style.js"
sur le site http://regexr.com/ je copie/Colle dans chaque champs les valeurs suivantes
expression (modidié)
(href|src)=\"([^/]*[\w\d/]*[css|js][\w\d]*[.css|.js]*)\"
text
href="/css/style.css"
src="/js/style.js"
substitution
$1=".$2"
tout va bien d'après le site et la capture de la page web suivante
quand j'adapte mon code regexp en php rien ne va
Warning: preg_replace_callback(): Unknown modifier '*' in
--règle1: un " doit se faire pécédé par un \ => \" ok
--règle2: </title> doit avoir \ devant => <\/title> ok
$data3 = preg_replace_callback(
'(href|src)*=\"([^/]*[\w\d/]*[css|js|]*[\w\d]*[.css|.js]*)\"',
function($m) {
static $id = 0;
$id++;
return $m[1].'="'.$m[2].'"';
},
$data3);
faut il configurer le moteur regexp dans php pour supporter les * ?
merci pour votre aide
Partager