В тексте нужно найти фразу " ВАШ ЗНАК СИМВОЛИЗИРУЕТ В ГОРОСКОПЕ:" (не учитывая регистр) и заменить на "ВАШ ЗНАК СИМВОЛИЗИРУЕТ В ГОРОСКОПЕ: бла-бла-бла".
Помогите, пожалуйста. Я с регулярками совсем не дружу.
Спустя 7 минут, 9 секунд (7.12.2011 - 12:56) m4a1fox написал(а):
$content = "Ваш знак СИмвоЛизиРует в гороскопе следующее";
$symbol = "камень";
$view = preg_replace('#('.$content.')#is', 'ВАШ ЗНАК СИМВОЛИЗИРУЕТ В ГОРОСКОПЕ: '.$symbol.'', $content);
echo $view;
Спустя 10 минут, 22 секунды (7.12.2011 - 13:07) RCuPeR написал(а):
Цитата (m4a1fox @ 7.12.2011 - 09:56) |
$content = "Ваш знак СИмвоЛизиРует в гороскопе следующее"; |
Чёт не работает.
В общем, вот картина:
Есть текст
Свернутый текст
КАМНИ: агат (красный, оранжевый, желтый), алмаз (желтый, коричневый), амазонит, берилл, бирюза, гранат, жадеит, изумруд, карнелит, кремень, коралл, кошачий глаз, лабрадор, лазурит, лунный камень адуляр и беломорит, малахит, мрамор, нефрит, оникс, опал (белый кахолонг, огненный опал), пирит, родонит, рубин, сапфир (желтый), селенит, сердолик (карнеол), тигровый глаз, топаз, турмалин, уваровит, халцедон, хризолит, хризопраз, горный хрусталь (прозрачный и белый), цитрин, янтарь, яшма (все оттенки яшмы).
КАМЕНЬ-ТАЛИСМАН: .
МЕТАЛЛЫ: висмут, хром, ртуть.
С него нужно сделать:
Свернутый текст
КАМНИ: агат (красный, оранжевый, желтый), алмаз (желтый, коричневый), амазонит, берилл, бирюза, гранат, жадеит, изумруд, карнелит, кремень, коралл, кошачий глаз, лабрадор, лазурит, лунный камень адуляр и беломорит, малахит, мрамор, нефрит, оникс, опал (белый кахолонг, огненный опал), пирит, родонит, рубин, сапфир (желтый), селенит, сердолик (карнеол), тигровый глаз, топаз, турмалин, уваровит, халцедон, хризолит, хризопраз, горный хрусталь (прозрачный и белый), цитрин, янтарь, яшма (все оттенки яшмы).
КАМЕНЬ-ТАЛИСМАН: жаденит.
МЕТАЛЛЫ: висмут, хром, ртуть.
Вызываю метод:
//$aHoroscope - собственно текст
//$aStones[0]['name'] - имя камня для замены
$replace_aHoroscope = Phpfox::getService('esoteric.stones')->replace_aHoroscope($aHoroscope, $aStones[0]['name']);
Сам метод:
public function replace_aHoroscope($text, $stone){
$view = preg_replace('#('.$text.')#is', 'КАМЕНЬ-ТАЛИСМАН: '.$stone.'', $text);
return $view;
}
Не меняет.
Спустя 7 минут, 4 секунды (7.12.2011 - 13:14) m4a1fox написал(а):
ИМХО конечно! Чет в логике запутался. Но! А вдруг!
<?php
$content = "КАМНИ: агат (красный, оранжевый, желтый), алмаз (желтый, коричневый), амазонит, берилл, бирюза, гранат, жадеит, изумруд, карнелит, кремень, коралл, кошачий глаз, лабрадор, лазурит, лунный камень адуляр и беломорит, малахит, мрамор, нефрит, оникс, опал (белый кахолонг, огненный опал), пирит, родонит, рубин, сапфир (желтый), селенит, сердолик (карнеол), тигровый глаз, топаз, турмалин, уваровит, халцедон, хризолит, хризопраз, горный хрусталь (прозрачный и белый), цитрин, янтарь, яшма (все оттенки яшмы).
КАМЕНЬ-ТАЛИСМАН: .
МЕТАЛЛЫ: висмут, хром, ртуть.";
$symbol = "камень";
$view = preg_replace('#(КАМЕНЬ-ТАЛИСМАН: )#', 'КАМЕНЬ-ТАЛИСМАН:'.$symbol, $content);
echo $view;
?>
Спустя 2 минуты, 15 секунд (7.12.2011 - 13:16) RCuPeR написал(а):
Work it !
Лови в карму
Лови в карму
Спустя 5 минут, 50 секунд (7.12.2011 - 13:22) m4a1fox написал(а):
Ихххххххххххаааа! Спс!
Есть ньюанс! Это проблема с кириллицей!
Вот решение
есчо вариант! Покрасивши будет!
Есть ньюанс! Это проблема с кириллицей!
Вот решение
<?php
$content = "КАМНИ: агат (красный, оранжевый, желтый),
алмаз (желтый, коричневый), амазонит, берилл, бирюза, гранат,
жадеит, изумруд, карнелит, кремень, коралл, кошачий глаз,
лабрадор, лазурит, лунный камень адуляр и беломорит,
малахит, мрамор, нефрит, оникс, опал (белый кахолонг,
огненный опал), пирит, родонит, рубин, сапфир (желтый),
селенит, сердолик (карнеол), тигровый глаз, топаз, турмалин,
уваровит, халцедон, хризолит, хризопраз, горный хрусталь
(прозрачный и белый), цитрин, янтарь, яшма (все оттенки яшмы).
КаМеНь-ТаЛиСМаН: .
МЕТАЛЛЫ: висмут, хром, ртуть.";
$symbol = "камень";
$view = preg_replace('#камень-талисман#isu', 'КАМЕНЬ-ТАЛИСМАН:'.$symbol, $content);
echo $view;
?>
есчо вариант! Покрасивши будет!
<?php
$content = 'КАМНИ: агат (красный, оранжевый, желтый), алмаз
(желтый, коричневый), амазонит, берилл, бирюза, гранат, жадеит,
изумруд, карнелит, кремень, коралл, кошачий глаз, лабрадор, лазурит,
лунный камень адуляр и беломорит, малахит, мрамор, нефрит, оникс,
опал (белый кахолонг, огненный опал), пирит, родонит, рубин, сапфир
(желтый), селенит, сердолик (карнеол), тигровый глаз, топаз,
турмалин, уваровит, халцедон, хризолит, хризопраз, горный хрусталь (прозрачный и белый), цитрин, янтарь, яшма (все оттенки яшмы).
КаМеНь-ТаЛиСМаН: .
МЕТАЛЛЫ: висмут, хром, ртуть.';
$search = 'камень-талисман';
$replace = 'КАМЕНЬ-ТАЛИСМАН:';
$symbol = 'огонь';
$view = preg_replace('#('.$search.')#isu', $replace.' '.$symbol, $content);
echo $view;
?>
_____________
Гнусный социопат с комплексом Бога.