10/10/2018, 09:40

Bác nào biết php sửa giùm em đoạn code

function getImgUrlFromText ($text) {
$regex = "/<img.+srcs*=s*"([^"]*)"[^>]*>/";
preg_match ($regex, $text, $matches);
$images = (count($matches)) ? $matches : array();
$image = count($images)>1?$images[1]:';
return $image;
}

Đoạn code này nó cứ lấy được cái image URL cuối cùng của $text
Em muốn lấy cái image URL đầu tiên thì sửa thế nào nhỉ
cái này lấy trong mod mod_jabulletin
Em dốt php nên ko biết sửa ra sao cả
Bác nào biết giúp em phát
oOvampireOo viết 11:41 ngày 10/10/2018
Được gửi bởi net46dlt
function getImgUrlFromText ($text) {
$regex = "/\<img.+src\s*=\s*\"([^\"]*)\"[^\>]*\>/";
preg_match ($regex, $text, $matches);
$images = (count($matches)) ? $matches : array();
$image = count($images)>1?$images[1]:'';
return $image;
}
===> $image = (count($images))?$images[0]:'';
net46dlt viết 11:49 ngày 10/10/2018
Em thử rồi ko được bác ạ
Sửa code của bác nó mất hình luôn
Cái $images[0] hình như là tag <img src="***x"></img>
Còn cái $images[1] nó mới là địa chỉ URL (***x) của ảnh
fotech_nd viết 11:49 ngày 10/10/2018
Được gửi bởi net46dlt
function getImgUrlFromText ($text) {
$regex = "/\<img.+src\s*=\s*\"([^\"]*)\"[^\>]*\>/";
preg_match ($regex, $text, $matches);
$images = (count($matches)) ? $matches : array();
$image = count($images)>1?$images[1]:'';
return $image;
}

Đoạn code này nó cứ lấy được cái image URL cuối cùng của $text
Em muốn lấy cái image URL đầu tiên thì sửa thế nào nhỉ
cái này lấy trong mod mod_jabulletin
Em dốt php nên ko biết sửa ra sao cả
Bác nào biết giúp em phát
=> Dùng code
PHP Code:
function getImgUrlFromText ($text) {
    
$regex "/\<img.+src\s*=\s*\"(***91;^\"***93;*)\"***91;^\>***93;*\>/";
    
preg_match_all ($regex$text$matches);
    return isset(
$matches***91;1***93;) ? $matches***91;1***93; : array();

=> Chú ý: Hàm này trả lại là một mảng chứa danh sách tất cả các image url có trong $text truyền vào, muốn lấy ra image url thứ nhất có thể dùng như sau:
PHP Code:
    $imageUrls getImgUrlFromText($text);
    
$firstImageUrl = isset($imageUrls***91;0***93;) ? $imageUrls***91;0***93; : null
=> Nên tham khảo thêm tại http://ddth.com/showthread.php?t=257789#post1559460

@oOvampireOo
Được gửi bởi oOvampireOo
===> $image = (count($images))?$images[0]:'';
=> Chú ý biến $matches của hàm preg_match nhé - xem tại http://vn.php.net/preg_match
net46dlt viết 11:45 ngày 10/10/2018
thank bác fotech_nd
code của bác đã chạy rồi nhưng nó vẫn chỉ lấy cái image URl cuối
lý do là cái regex ko chuẩn
bác nào biết về regex thì sửa gùm em
nnanh01 viết 11:42 ngày 10/10/2018
Cái này ở trong Joomla phải hem??
net46dlt viết 11:44 ngày 10/10/2018
đúng rồi, nó là modul lastes news có hiện thumb mà
nhưng thumb cuối thì ko đúng ý em muốn nó hiện thumb của ảnh đầu tiên trong article mà hok được
nnanh01 viết 11:53 ngày 10/10/2018
đang ngâm cứu thử, chưa đc.
Bài liên quan
0