замена на \\1число\\2 в регулярных выражениях

Роберт

Аналитик
замена на \\1число\\2 в регулярных выражениях

Народ , кто может подсказать - как в регулярных выражениях осуществить замену когда у тебя НЕ \\1слово\\2 , а \\1число\\2 ???
Какбы я не эскейпилбы своё число , он его считает продолжением \\1
 

Роберт

Аналитик
Автор оригинала: Nodir
\\1\\0число\\2
Не-не-не-не. Увы так совсем даже не идёт!
Более того , тогда результат получается разным в зависимости от самого значения "число"!!!
:(
 

Barlone

Guest
Может быть попробовать \\1\\x3число\\2 (то есть записали первую цифру числа шестнадцатиричным кодом)
 

Роберт

Аналитик
Так мне надо текст туда подставлять , но иногда этот текст может быть цифрой. И потом этоже идёт на вывод , а значит ни о каких 16-тиричных речи идти не может. Можно первый символ на уникоде написать , но это некрасиво (вдруг потом результат в базу данных попадёт , а не в HTML , и тогда ни один поиск её не найдёт...)
 

Sababa

Guest
А может "\\1" . $digit . "\\2", не супер, но вариант
 

Barlone

Guest
Можно показать пару строк из программы ?
 

Роберт

Аналитик
Автор оригинала: Sababa
А может "\\1" . $digit . "\\2", не супер, но вариант
Так ведь нет никакой разницы что "\\1$digit\\2" , что "\\1" . $digit . "\\2"!
Строка вначале создастся , а потом попадёт в функцию...
Хотя честно говоря это было самое первое что я поробывал.

А вот сам фрагмент кода:

$Adres=preg_replace("/([?&])($Paramert=)(.+?)(&)/is","\\1\\2|#|\\4",$Adres);

Тоесть адрес вначале типа /index.php?e=1&ee=22&eee=33 33&
и я хочу чтобы "ee" было равно "44".
Тоесть
$Parametr='ee';
$Znachenie='44';

когда $Znachenie состоит из букв (ну тоесть первый символ не цифра) , то всё ок , а если цифра - то идут всякие ужасы , в зависимости от первой цифры...
 

Barlone

Guest
Вот такой вариант:
$Adres=preg_replace("/([?&])($Paramert=)(.+?)(&)/ise","'\\1\\2'.'$Znachenie'.'\\4'",$Adres);

Или так:
$Adres=preg_replace("/([?&])($Paramert)=(.+?)(&)/is","\\1\\2=$Znachenie\\4",$Adres);
 

Nodir

Guest
$Adres=preg_replace("/([?&]$Parametr)=[^&\s]*/is","\\1=$Znachenie",$Adres);
 
Сверху