1

Does anyone have a fix for the following;

I'm taking the following string:

<span id="tmpl_main_lblWord" class="randomWord">kid</span>

and using the following preg_match / regex rule;

preg_match("'/(<span id=.* class=.*>)(.*)(<\/span>)/'si", $buffer, $match);

But its returning with an empty array any ideas?

cocacola09
  • 650
  • 7
  • 14

2 Answers2

2

The following example uses DOMDocument:

$doc = new DOMDocument();
$doc->loadHtml('<span id="tmpl_main_lblWord" class="randomWord">kid</span>');
$el = $doc->getElementById('tmpl_main_lblWord');
echo 'Inner text is: ' . $el->textContent;
karim79
  • 339,989
  • 67
  • 413
  • 406
1

In general I would strongly advise against using regex to try and get values from HTML. I would use an HTML parser. See this question: Robust and Mature HTML Parser for PHP

If you insist though... you seem to have two sets of nested quotes. I would remove the inner single quotes. That should solve your problem.

Community
  • 1
  • 1
Josiah
  • 4,754
  • 1
  • 20
  • 19