Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.177.223] |
|
Сообщ.
#1
,
|
|
|
мне надо обработать строку на наличее в ней, опред. символов, например
< > / % и т.д, заменить их на то что мне нужно... Зарание спасибо |
Сообщ.
#2
,
|
|
|
PHP,JavaScript?
ежели PHP, То предлагаю лобовой скрипт Цитата $Str='asdf<jsdfh>ajksgh/sdk%lergjk.'; $i=0; while ($i<>strlen($Str)) { if ($Str[$i]=='<') { // ЗАМЕНА символа } else if ($Str[$i]=='>') { // ЗАМЕНА символа } else if ($Str[$i]=='/') { // ЗАМЕНА символа } else if ($Str[$i]=='%') { // ЗАМЕНА символа } $i++; } может, в лоб - зато работать должен. Не проверял! |
Сообщ.
#3
,
|
|
|
Цитата Суть Зла @ 10.03.04, 22:49 PHP,JavaScript? ежели PHP, То предлагаю лобовой скрипт Цитата $Str='asdf<jsdfh>ajksgh/sdk%lergjk.'; $i=0; while ($i<>strlen($Str)) { if ($Str[$i]=='<') { // ЗАМЕНА символа } else if ($Str[$i]=='>') { // ЗАМЕНА символа } else if ($Str[$i]=='/') { // ЗАМЕНА символа } else if ($Str[$i]=='%') { // ЗАМЕНА символа } $i++; } может, в лоб - зато работать должен. Не проверял! спасибо, проверим |
Сообщ.
#4
,
|
|
|
Ежели JavaScript, то, по-моему, так:
Цитата ... function CharReplace(Str) { for (var i=0; i<=Str.length;i++) { //Здесь проверяешь на схожесть символов, как в примере на PHP i=i+1; } } ... Опят таки не проверял.. |
Сообщ.
#5
,
|
|
|
Для сего регулярные выражения существуют
В PHP что-то типа этого: $new_str = ereg_replace($pattern, $change_to, $old_str); Вот тут можно почитать: http://detail.phpclub.net/article/simple_regular |
Сообщ.
#6
,
|
|
|
tserega, А оправдано ли применение их(регэкспов) в этом случае? не будут ли тормозить по сравнению с обычными строковыми операциями?
|
Сообщ.
#7
,
|
|
|
Именно в этом (когда надо заменять всего лишь 1 символ) - вряд ли. А вот для поиска и замены чего-то послежнее - все плюсы налицо
|
Сообщ.
#8
,
|
|
|
Цитата Суть Зла @ 10.03.04, 19:59 Ежели JavaScript, то, по-моему, так: ... function CharReplace(Str) { for (var i=0; i<=Str.length;i++) { //Здесь проверяешь на схожесть символов, как в примере на PHP i=i+1; } } ... а мне кажется, что этот код будет обрабатывать только каждый второй символ или у Java Script есть какая-нибудь особенность в цикле FOR? |
Сообщ.
#9
,
|
|
|
регулярные выражения тут не нужны
str_replace() пойдет и работать быстрее будет |
Сообщ.
#10
,
|
|
|
Опечтался, опечатался, извините - говорю же, с ходу написал и даже не посмотрел
А, вообще, то, что я предложил, немного (точнее, прямо) в "лоб", зато определенно работает. И сразу видны все плюсы и минусы этого... |
Сообщ.
#11
,
|
|
|
$new_str = ereg_replace($pattern, $change_to, $old_str); работает точно и быстро... спасибо |