2012-05-16 3 views
0

Существует строковогоЗаменить страницу не с пользовательской строкой

http://www.ccdcdlmcc.sdc.smdc.,ms.cmcsjh?page=2$#$#L$JK#J$LK#J$ 

Я хочу, чтобы заменить номер страницы с другой строкой «[pageno]» (включая квадратные скобки), так, что мои последние струнное будет:

http://www.ccdcdlmcc.sdc.smdc.,ms.cmcsjh?page=[pageno]$#$#L$JK#J$LK#J$ 

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

Моя главная строка http://www.xyz.com/s/ref=sr_pg_2?rh=n%3A117332031%2Cn%3A!117333031%2Cn%3A118457031%2Cn%3A118458031&page=2&bbn=118457031&ie=UTF8&qid=1337146507 является

+0

plz paste код –

+0

Вам повезло, если у вас установлено расширение pecl_http [CodePad] (http://codepad.org/OM5hteGk). – alex

ответ

1

Здесь вы идете:

$str=preg_replace("/(\\?)(page)(=)(\\d+)/","?page=[pageno]",$yourstring); 
+0

Спасибо, но какой-то erro в этом –

+0

Неизвестный модификатор '(' [APP/controllers/tests_controller.php, line 61] –

+0

@IntekhabKhan Эта проблема решена путем редактирования harald. Здесь также много ненужных групп '/ \\? page = \\ d +/'будет работать точно так же (nah, лучше, потому что значения не сохраняются в обратных ссылках). Возможно, вас интересует [краткое введение в регулярное выражение, которое я написал] (http: // wp. мне/p2pTzU-4) – stema

0

Вот еще один способ сделать это:

<?php 

$str = "http://www.ccdcdlmcc.sdc.smdc.,ms.cmcsjh?page=2$#$#L$JK#J$LK#J$"; 

echo preg_replace('/page=([0-9]+)/', 'page=[pageno]', $str); 
?> 

я считать, что номер страницы только числовое значение , В противном случае вам придется расширять [0-9] с помощью [0-9a-zA-Z] и, возможно, других символов, которые вы хотите разрешить.

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