Domanda

Nella mia stringa ho segnaposto come: ## NEWSLETTER ##, ## Piè di pagina # ## GoogleAnalytics ## etc

.

Ognuno di questi segnaposto è delimitata da: ##

Voglio trovare ognuno dei thos segnaposti e metterli in un array.

La parte difficile è che quello che c'è dentro i delimitatori ## può essere qualsiasi cosa.

È stato utile?

Soluzione

Prova questo:

<?php

$s = "asdff ##HI## asdsad ##TEST## asdsadsadad";

preg_match_all("~##([^#]+)##~", $s, $result);

var_dump($result[1]);

stampe:

array(2) {
  [0]=>
  string(2) "HI"
  [1]=>
  string(4) "TEST"
}

Altri suggerimenti

è possibile utilizzare preg_match_all():

$str = '##NEWSLETTER## , some more text ##FOOTER## test 123 ##GOOGLEANALYTICS## aaa';
preg_match_all('/##([^#]+?)##/', $str, $matches);
var_dump($matches);

$matches[1] avrà tutti i vostri segnaposto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top