Jump to content
php.lv forumi

preg_replace


bra

Recommended Posts

labdien,

Vai lūdzu kāds varētu man palīdzēt izdomāt, ka panākt risinājumu šādai problēmai:

 

ir manīgais

$manigais = "šis manīgais satur id {id} vērtību";

 

ko vēlos panākt ir lai {id} tiktu aistāts ar citu manīgo, bet no masīva sglabājot to id

tātd

beigu rezūltātam no php vidokļa vaadētu izskatīties šādi

$manigais = "šis manīgais satur id ".$row['id']." vērtību";

 

Zinu ka ir tāda f-cija kā preg_replace(), kas te varētu nederēt, bet diemžēl vel tik labi php neorentējos lai zinātu visu

 

Gadīšu padomus.

Paldies par jūsu palīdzību jau iepriekš

Link to comment
Share on other sites

Delfīns lielspaldies Tev, bet vai tajā pašā preg_replace() nav iespējams arī pēc tam novākt nost tos { } un izrukāt masīva vērtību piemēram es isaucu

 

function convertStr($str, $arrName){
	return preg_replace( '/\{([^\}]+)\}/', '{\$'.$arrName.'[\1]}', $str );
}

$row = array(
'id'=>'82109'
);
$id = convertStr('šitas satur {id}','row');
echo $id;

viņš atgriež

šitas satur {$row[id]}

bet es vēlētos

lai atgriež

$id = 'šitas satur 82109';

 

paldies jau iepriekš

Edited by bra
Link to comment
Share on other sites

var arī bez regex

function str_and_array($str, $arr)
{
if(!is_array($arr)) return $str;
$keys = array_keys($arr);

foreach($keys as $key) $str = str_replace('{'.$key.'}', $arr[$key],	$str);
return $str;
}


echo str_and_array('{id1} un {id2} un vēlreiz {id2}', array('id1' => 1, 'id2' => 2));

Link to comment
Share on other sites

×
×
  • Create New...