У меня есть скрипт, который использует str_replace
для преобразования одинаковых слов во все совпадения с одним основным словом (цифры = цифры, #, цифры). Это делается для запуска stripos
совпадений для любого из основных или похожих слов.позже.
Преобразование выполняется до основного кода, который содержит множество условных операторов.После обработки основного кода я использую stripos
, чтобы преобразовать все обратно в исходное слово.(Примеры ниже) Поскольку список слов, которые необходимо преобразовать до и после изменений, часто выполняется в нескольких отдельных сценариях, которые мне нужно вытащить, требуется, чтобы я мог редактировать их в одном месте.Однако, просматривая некоторые журналы отладки, я понимаю, что бывают случаи, когда слова преобразуются, но никогда не преобразуются обратно в исходные слова ... Сценарий часто обновляется, но кто-нибудь знает, что может привести к тому, что требование будет пропущено, и сценарий будет отображатьсявывод без этого?
<?php
// Simple sample usage.
require("/Process/before.php");
if (stripos($data, 'Blue') !== false) {
echo 'You said blue. Pretty color.';
}
require("/Process/after.php");
?>
.
// /Process/before.php contents
$data = str_replace("azure", "1 Blue", $data);
$data = str_replace("cyan", "2 Blue", $data);
$data = str_replace("denim", "3 Blue", $data);
$data = str_replace("indigo", "4 Blue", $data);
$data = str_replace("teal", "5 Blue", $data);
$data = str_replace("turquoise", "6 Blue", $data);
// End
.
// /Process/after.php Contents
$data = str_replace("1 Blue", "azure", $data);
$data = str_replace("2 Blue", "cyan", $data);
$data = str_replace("3 Blue", "denim", $data);
$data = str_replace("4 Blue", "indigo", $data);
$data = str_replace("5 Blue", "teal", $data);
$data = str_replace("6 Blue", "turquoise", $data);
// End
Иногда строка типа "Океан был глубокий чирок «.останется как "Океан был глубокий 5 Синий ."
Кто-нибудь знает, почему это произойдет?Или, если есть лучший способ, чтобы слова соответствовали описанному выше?Я смотрю на необходимость добавлять содержимое до и после преобразований во все сценарии и редактировать все файлы, когда требуются изменения.