Как использовать preg_replace в целом на массивах
У меня есть два вопроса, первый
<?php $text = "a iKo SaioT eeee"; $fonts = "a|i|u|e|o"; $newText = preg_replace("#([$fonts].+?(?=[^$fonts![:space:]]))#us", '<b>$1</b>', $text); echo $newText; ?>
Будет как (один яКо Смоноблоки AIOТ е ееее). Нет (один яКо Смоноблоки AIOТ эээээ). Почему последняя буква eeee не меняется жирным шрифтом? И когда $text = " a" Результат тоже не превращается в жирный
Во-вторых, как преобразовать этот код в jquery
$newText = preg_replace("#([$fonts].+?(?=[^$fonts![:space:]]))#us", '<b>$1</b>', $text);
Причина $fonts-это массивы, не совпадающие в php
Что я уже пробовал:
Мне тоже нужно без пространства.
Потому что если я помещу пробел в массив a|i|u|e|o / [: space:].
Это будет такой &ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ; будут отдельные. А если я использую #([$fonts]?(? =[^$шрифты![: space:]]))#us без .+, первый и последний, шрифты не полужирные
Если я использую
код preg_replace('/['.$шрифты.']/я', '&ЛТ;б&ГТ;$1&ЛТ;/б&ГТ;', $text будет);
Результат будет таким, верно? один яКо Смоноблоки AIOT eeee, но если вы нажмете вправо и осмотрите.
Вы можете увидеть &ЛТ;б&ГТ;а&ЛТ;/б&ГТ; &ЛТ;б&ГТ;я&л;/б и GT;к&ЛТ;б&ГТ;о&ЛТ;/б&ГТ; с&ЛТ;б&ГТ;а&ЛТ;/б&ГТ;&ЛТ;б&ГТ;я&ЛТ;/б&ГТ;&ЛТ;б&ГТ;о&ЛТ;/б&ГТ;Т &ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;
Быть разделены пробелами
Но в отличие от использования шрифтов^$![:пространство:]
Чтобы быть &ЛТ;б&ГТ;а&ЛТ;/б&ГТ; &ЛТ;б&ГТ;я&л;/б и GT;к&ЛТ;б&ГТ;о&ЛТ;/б&ГТ; с&ЛТ;б&ГТ;моноблок&ЛТ;/б&ГТ;Т ээээ
Почему я использую пространство exeption? Потому что арабский алфавит непрерывен
Если вы используете шрифты^$![:пробел:] чтобы быть как &ЛТ;б&ГТ;مَنْ بِا جَاءَ&ЛТ;/б&ГТ;
Если нет &ЛТ;б&ГТ;م&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ن&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ْ&ЛТ;/б&ГТ; &ЛТ;б&ГТ;ج&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ا&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ء&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ; &ЛТ;б&ГТ;ب&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ِ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ا&ЛТ;/б&ГТ;
Не же مَ نْ جَ اءَ بِ ا = مَنْ جَاءَ بِا
Но эта проблема, как и мой вопрос в посте
Почему последняя буква eeee не меняется жирным шрифтом? И когда $text = "a", результат тоже не превращается в жирный шрифт.
Patrice T
Что предполагается делать "#([$fonts].+?(?=[^$шрифты![: space:]]))#us" ?
aritabacan
Если я использую
код preg_replace('/['.$шрифты.']/я', '&ЛТ;б&ГТ;$1&ЛТ;/б&ГТ;', $text будет);
Результат будет таким, верно? один Ико смоноблоки AIOТ эээээ но если щелкнуть правой кнопкой мыши и проверить.
Вы можете увидеть &ЛТ;б&ГТ;а&ЛТ;/б&ГТ; &ЛТ;б&ГТ;я&л;/б и GT;к&ЛТ;б&ГТ;о&ЛТ;/б&ГТ; с&ЛТ;б&ГТ;а&ЛТ;/б&ГТ;&ЛТ;б&ГТ;я&ЛТ;/б&ГТ;&ЛТ;б&ГТ;о&ЛТ;/б&ГТ;Т &ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;&ЛТ;б&ГТ;е&ЛТ;/б&ГТ;
Быть разделены пробелами
Но в отличие от использования шрифтов^$![:пространство:]
Чтобы быть &ЛТ;б&ГТ;а&ЛТ;/б&ГТ; &ЛТ;б&ГТ;я&л;/б и GT;к&ЛТ;б&ГТ;о&ЛТ;/б&ГТ; с&ЛТ;б&ГТ;моноблок&ЛТ;/б&ГТ;Т ээээ
Почему я использую пространство exeption? Потому что арабский алфавит непрерывен
Если вы используете шрифты^$![:пробел:] чтобы быть как &ЛТ;б&ГТ;مَنْ بِا جَاءَ&ЛТ;/б&ГТ;
Если нет &ЛТ;б&ГТ;م&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ن&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ْ&ЛТ;/б&ГТ; &ЛТ;б&ГТ;ج&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ا&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ء&ЛТ;/б&ГТ;&ЛТ;б&ГТ;َ&ЛТ;/б&ГТ; &ЛТ;б&ГТ;ب&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ِ&ЛТ;/б&ГТ;&ЛТ;б&ГТ;ا&ЛТ;/б&ГТ;
Не же مَ نْ جَ اءَ بِ ا = مَنْ جَاءَ بِا
Но эта проблема, как и мой вопрос в посте
Почему последняя буква eeee не меняется жирным шрифтом? И когда $text = "a", результат тоже не превращается в жирный шрифт.
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.