|
|
|
| Здравствуйте! Хочу опять попросить о помощи. Надеюсь, что кто-нибудь мне поможет. Или хотя бы подскажут, в каком направлении мне дальше двигаться :)
$markers="markers.push([-0.059738148356404154,0.10200977325439453,'Колезей',2]);
markers.push([-0.059738148356404154,0.10200977325439453,'Церковь',3]);
markers.push([-0.059738148356404154,0.10200977325439453,'Я тут живу',1]);
markers.push([-0.059738148356404154,0.10200977325439453,'<div align="center">Гипермаркет мебели ! <br></div>Отличная мебель по отличной цене. 'Праздничные 20% скидки' до конца месяца!',2]);";
Здесь надо одинарные кавычки, "отмеченные жирным шрифтом" заменить на двойные кавычки.
По началу хотел помощью
$znak=str_replace(chr(39),chr(34),$markers);
но так не получается так как в начале и в конце изменять нельзя.
Из элементов, которые на протяжении всей работы имеют одну и ту же длину это: "markers.push([" и " ',2]);"
Остальные изменяются.
Как мне решить эту головоломку или с чего начать? :) | |
|
|
|
|
автор: ..... (07.01.2012 в 04:52) |
|
|
для: _Geroi_
(06.01.2012 в 21:35)
| | типа preg_replace_callback() чего-нибудь можно применить
<?php
header('content-type: text/plain');
$txt =<<<TXT
markers.push([-0.059738148356404154,0.10200977325439453,'Церковь',3]);
markers.push([-0.059738148356404154,0.10200977325439453,'<div align="center"> 'Праздничные 20%' !',2]);
TXT;
function match_handler( $m ){
return 'markers.push(['. $m[1] .','. $m[2] .',\''. str_replace("'",'"', $m[3]) .'\','. $m[4] .');';
}
echo $str= preg_replace_callback('#markers\.push\(\[([-\.0-9]*),([-\.0-9]*),\'(.*?)\',(\d+)\]\)\s*;#s', 'match_handler', $txt);
?>
|
| |
|
|
|
|
|
|
|
для: .....
(07.01.2012 в 04:52)
| | Спасибо большее за готовое решение!!! :)
У Вас опечатка забыли скобку поставить "]" в строчке $m[4] .');';
правильнее будет $m[4] .']);';
Но все равно спасибо! :) | |
|
|
|