2016-02-23 5 views
0

У меня есть база данных, и оттуда я загружаю строки, содержащие символ «§», что получается как « » в скрипте php. Теперь я знаю, как удалить эти символы. Я бы просто использовалЗаменить «§» и следующий символ

mb_convert_encoding($text, 'UTF-8', 'UTF-8') 

, но дорогой, мне нужно удалить символ после этого «§».

Необработанные строка может выглядеть следующим образом:

�b18:23:47�7: �fTROOP3R kannst du dir das bitte anschauen 

Но это должно выглядеть следующим образом:

18:23:47: TROOP3R kannst du dir das bitte anschauen 

Я надеюсь, что существует решение моей проблемы.

ответ

1

Это будет работать:

/([^A-Za-z0-9 :])\w/g 

Заканчивать рабочий здесь: http://regexr.com/3cs65

Вставить: �b18:23:47�7: �fTROOP3R kannst du dir das bitte anschauen в текстовой области, чтобы увидеть, что все становится устранены.

+0

Но в этом случае « b18: 23: 47» тоже будет выглядеть как «b18: 23: 47», а не «18:23:47» –

+0

Позвольте мне поработать над этим ... –

+0

@NicolaUetz пожалуйста, обновите меня, если это сработает. –

0

Код:

$src = '§dsa §d§sa§ §dsa§'; 
echo $src . PHP_EOL; 
echo preg_replace("/\xC2\xA7/", "", $src); 

Выход:

§dsa §d§sa§ §dsa§ 
dsa dsa dsa 

Я полагаю, у вас есть идея :) Преобразовать необходимый символ, чтобы избежать последовательности и использовать его в регулярном выражении.

Следующий символ, который вы можете поймать точкой регулярного выражения, например .? (знак вопроса для случая с конечной линией).

+0

Нет после preg_replace ('/ \ xC2 \ xA7 \ w /', '', $ split [$ i]), § не исчезли ... http://mcplayhd.net/cheatlog.php?id=402rr784 –

Смежные вопросы