Skocz do zawartości

Zdjęcie
- - - - -

Zamienianie ciągu na zmienną

[PHP] preg_replace() zmienna string

1 odpowiedź w tym temacie
  • Zaloguj się, aby dodać odpowiedź
Webseen

    Nowy użytkownik

  • 15 postów
    • Czas spędzony online: 6h 3m 59s
0
Neutralna
  • LocationPoland

Napisano 19 listopada 2015 - 20:06

#1

Witam, mam kod, za pomocą którego chcę zamieniać ciągi w "szpiczastych" nawiasach na wartości z tablicy o kluczach w takich jak wewnątrz tych nawiasów. 

<?php
define('security', 1);
		require('includes/engineStart.php');

$_settingsX = array(
	'klucz' => 'wartość',
	'klucz 2'=> 'wartość 2');

$patt = "#\{(.^)\}#si";
$rep = $_settingsX[$1];
$sub = 'jakiś tekst {klucz}';

$subject = preg_replace($patt,$rep,$sub);

echo $subject;
				
		require('includes/engineStop.php');
?>

Wyświetla mi błąd: 

 

 

Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/webseenr/public_html/somesite/index.php on line 10

Ktoś wie jak by to poprawić troszki?  :ph34r:


Użytkownik Webseen edytował ten post 19 listopada 2015 - 20:08

  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 20 listopada 2015 - 08:37

#2

Podeślę Ci coś podobnego z czego sam kiedyś korzystałem, zaadoptuj to sobie ;)

$content = preg_replace_callback('/`([a-zA-Z0-9_-]+?)`/i',
	array(&$this, 'makeReplace'),
	$content
);

/*  */

public function makeReplace($in){
	if (!isset($this->loadedTranslations[strtolower($in[1])]) 
		|| $this->loadedTranslations[strtolower($in[1])] == "")
		
		return $in[1];
	else
		return $this->loadedTranslations[strtolower($in[1])];
}

Gdzie zamieniane były wartości w formacie: `testing` a loadedTranslations to array z tłumaczeniami :)


  • 1

webDeveloper






Również z jednym lub większą ilością słów kluczowych: [PHP], preg_replace(), zmienna, string

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych