我使用PHP动态获取图像URL。我想将该图像设置为div
背景。
一切都很好,但是当我插入css时,图片网址(它是一个blob)会将&
更改为&
,结果为404
。
请查看注释代码以获取输出。
任何人都可以帮我保持网址的原样吗?
<?php
$content = @$this->content[ 'q_view' ][ 'content' ];
preg_match_all( '/<img[^>]+src=[\'"]([^\'"]+)[\'"][^>]*>/i', $content, $matches );
if ( ! empty( $matches[ 0 ] ) ) {
$this->_q_header_image = $matches[ 1 ][ 0 ];
} else {
$this->_q_header_image = $this->rooturl . '/images/q-header-default.jpg';
}
var_dump($this->_q_header_image) // http://localhost/lion/?qa=blob&qa_blobid=17313457200794318190
echo '<style>.qa-q-feature-image { background-image: url("' . $this->_q_header_image . '")}</style>';
// http://localhost/lion/?qa=blob&qa_blobid=17313457200794318190
答案 0 :(得分:1)
您需要在将其分配给$this->_q_header_image
之前对其进行解码。使用以下代码: -
<?php
$content = @$this->content[ 'q_view' ][ 'content' ];
preg_match_all( '/<img[^>]+src=[\'"]([^\'"]+)[\'"][^>]*>/i', $content, $matches );
if ( ! empty( $matches[ 0 ] ) ) {
$this->_q_header_image = html_entity_decode($matches[ 1 ][ 0 ]);
} else {
$this->_q_header_image = $this->rooturl . '/images/q-header-default.jpg';
}
var_dump($this->_q_header_image) // http://localhost/lion/?qa=blob&qa_blobid=17313457200794318190
echo '<style>.qa-q-feature-image { background-image: url("' . $this->_q_header_image . '")}</style>';
我希望这会有所帮助