Строка: Two + Two & One + One ?
Как включить знак +. Я не хочу убирать знак + одновременно с заменой & на -. Я использовал следующие
$string = preg_replace('/&#?[\+\sA-Za-z0-9]+;/i', '-', $string);
Это дает результат: Two Two - One One ?
Требуемый результат: Two + Two - One + One ?
Примечание: Вы можете предложить любую preg_replace, которая позволяет включать + подписывать и заменять & на -. Я на сайте WordPress.
Я не нашел ответа на свою проблему с stackoverflow. Все говорят об удалении знака +. Но хочу включить.
[\+\sA-Za-z0-9]+ соответствует 1 или более символам в наборе символов, и + присутствует. Удалите его, если вы не хотите его удалять.
@apokryfos Я не понимаю, что вы говорите о &. Мне просто нужно включить знак + и заменить & на -. Какой бы метод ни был доступен.
& отсутствует в строке, которую вы поделили, - вот что я говорю. Вы уверены, что работаете именно с этой строкой?
Вы обновили свое регулярное выражение до &#?. Еще хотите заменить &# на тире? Возможно, вы можете добавить еще несколько примеров, которые хотите заменить в своем вопросе.
Я думаю, что все, что предлагают, правильно. Потому что даже мой preg_replace('/&#?[\+\sA-Za-z0-9]+;/i', '-', $string); let + подписывает включение, но что-то еще удаляет его.






используйте этот
$ string = preg_replace ('/ & / i', '-', $ строка);
ему нужно & amp; не &, это HTML-объект
Используя регулярное выражение, это то, что вам нужно:
<?php
$regex = '#\&(amp;)?#';
echo preg_replace($regex, '-', 'Two + Two & One + One ?') . "\n";
echo preg_replace($regex, '-', 'Two + Two & One + One ?') . "\n";
Выход:
Two + Two - One + One ?
Two + Two - One + One ?
Что вы можете увидеть здесь https://3v4l.org/s1tVW
И поиграйте с регулярным выражением здесь https://regex101.com/r/G7CbKF/1
Он удалил строку после «Два Два -».
не с моим кодом, нажмите ссылку 3v4l и убедитесь сами
Да, там работает. но не знаю, почему он не работает на моем веб-сайте WordPress.
просто используйте МОЕ регулярное выражение, избавьтесь от этого материала
Тот факт, что вы заставляете
&работать, означает, что ваша строка на самом деле не то, чем вы поделились, а закодирована в html.