Распознавайте знаки препинания и повторяйте их отдельно

Я хочу обнаружить пунктуацию (!@#$%^&*()?‹>"';:}{][) в любом месте строки (спереди или сзади строки)...

$string = "'Hello!'";
$anotherstring = "Hi";

Я хочу, чтобы он записывал знаки препинания в $string и повторял их с помощью $anotherstring...

Привет
'Привет!'

На самом деле я делаю средство проверки орфографии, и проблема в том, что оно проверяет строку со знаками препинания. Я хочу проверить ее без знаков препинания и повторить знаки препинания до предложений и после знаков препинания после предложений...


person Shahbaz Singh    schedule 12.06.2012    source источник
comment
Проверка орфографии или проверка грамматики?   -  person Luc    schedule 12.06.2012


Ответы (2)


Может это подвох :)

$anotherstring = preg_replace('/[a-zA-Z0-9]+/', $anotherstring, $string);

РЕДАКТИРОВАТЬ: Вы можете удалить цифры, если они вам не нужны

person Mirko Akov    schedule 12.06.2012
comment
это будет работать, если знаки препинания есть с обеих сторон?? @Мирко Акков - person Shahbaz Singh; 12.06.2012
comment
Но что, если я хочу повторить знаки препинания перед предложениями и знаки препинания после предложений... @Mirko Akkov - person Shahbaz Singh; 12.06.2012
comment
Вы можете сделать это так: $cleanstring = preg_replace('/[^a-zA-Z0-9]/', '', $string); - person Mirko Akov; 12.06.2012

Взгляните на http://us3.php.net/manual/en/function.strtok.php

Вы можете разделить на основе токенов, таких как пробелы и символы.

person Luc    schedule 12.06.2012