У меня есть массив строк, которые содержат html <object>, вот так:
<object>
$str = '<object width="600" height="338"> <param name="movie" value="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed" type="application/x-shockwave-flash" width="600" height="338" allowscriptaccess="always" allowfullscreen="true"></embed> </object>';
Проходя через их цикл, каждый внутри a, я повторяю их.
Проблема в том, что вместо вывода элементов DOM строка печатается следующим образом:
<div> "<object width="600" height="338"> <param name="movie" value="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed" type="application/x-shockwave-flash" width="600" height="338" allowscriptaccess="always" allowfullscreen="true"></embed> </object>" </div>
Кавычки используются так, как будто я печатаю массив, но я проверил, что типпеременной является строка.
Что здесь происходит?
РЕДАКТИРОВАТЬ:
Моя строка фактически извлекается из API, где я анализируюнекоторую информацию и используйте следующий массив:
Array ( [content] => <object width="600" height="338"><param name="movie" value="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed" type="application/x-shockwave-flash" width="600" height="338" allowscriptaccess="always" allowfullscreen="true"></embed></object> [width] => 600 [scrolling] => [height] => 338 )
Я поднял [content] и пытаюсь вывести <object> сам.
[content]
с использованием html_entity_decode в строке исправили это.
html_entity_decode
Вы должны уйти от своих строк.
$str = "<object width=\"600\" height=\"338\"> <param name=\"movie\" value=\"http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed\"></param> <param name=\"allowFullScreen\" value=\"true\"></param> <param name=\"allowscriptaccess\" value=\"always\"></param> <embed src=\"http://www.youtube.com/v/YQSFQUkVUos?version=3&feature=oembed\" type=\"application/x-shockwave-flash\" width=\"600\" height=\"338\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed> </object>";
Возможно, вы объявили строку с пометкой "а эта строка содержит". Попробуйте преобразовать html в одинарные кавычки или объявить строку одинарными кавычками или даже экранировать двойные кавычки в HTML с обратной косой чертой \ "
Ваша проблема заключается в использовании двойных кавычек:
Try (строка заключена в одинарные кавычки)