bork75
The Team
- Регистрация
- 21 Июн 2008
- Сообщения
- 1.455
- Реакции
- 734
- Автор темы
- #1
Нахожу в искомом тексте слова в скобках и перевожу их в urlencode.
Код рабочий сделал, но в тексте будет много искомых [[слов]],
нужно как-то циклом учесть все переменные.
в последнем, где $replacements[0] порядок перекручен
Начальный текст: текст [[слово1]] текст [[слово2]] текст [[слово3]] и тд....
Текст на выходе: текст %F1%EB%EE%E2%EE1 текст %F1%EB%EE%E2%EE2 текст %F1%EB%EE%E2%EE3
Код рабочий сделал, но в тексте будет много искомых [[слов]],
нужно как-то циклом учесть все переменные.
в последнем, где $replacements[0] порядок перекручен
Начальный текст: текст [[слово1]] текст [[слово2]] текст [[слово3]] и тд....
Текст на выходе: текст %F1%EB%EE%E2%EE1 текст %F1%EB%EE%E2%EE2 текст %F1%EB%EE%E2%EE3
PHP:
<?php
$string = "текст [[слово1]] текст [[слово2]] текст [[слово3]]";
// Находим слова с скобках [[ ]]
$pattern = "/\[\[(.*?)\]\]/i";
preg_match_all ($pattern, $string, $slovo, PREG_PATTERN_ORDER);
$text0 = $slovo[1][0];
$text1 = $slovo[1][1];
$text2 = $slovo[1][2];
// Учитываем слово со скобками для str_replace
$patterns[0] = "[[".$text0."]]";
$patterns[1] = "[[".$text1."]]";
$patterns[2] = "[[".$text2."]]";
// Перводим найденные слова в urlencode
$replacements[2] = urlencode($text0); //! 2
$replacements[1] = urlencode($text1); //! 1
$replacements[0] = urlencode($text2); //! 0
// Делаем замену найденных слов на слова в urlencode
echo str_replace($patterns, $replacements, $string);
?>