Tôi có chuỗi html chứa chính xác một phần tử trong đó. Ví dụ:Sửa đổi thuộc tính html với php
<a href="http://www.test.com" rel="nofollow external">test</a>
Trong php Tôi phải kiểm tra nếu rel chứa bên ngoài và nếu có, sau đó sửa đổi href và lưu chuỗi.
Tôi đã tìm các nút và đối tượng DOM. Nhưng chúng dường như quá nhiều đối với chỉ một phần tử A, vì tôi phải lặp lại để nhận các nút html và tôi không chắc chắn cách kiểm tra nếu rel tồn tại và chứa bên ngoài.
$html = new DOMDocument();
$html->loadHtml($txt);
$a = $html->getElementsByTagName('a');
$attr = $a->item(0)->attributes();
...
Tại thời điểm này, tôi sẽ nhận được NodeMapList dường như ở trên cao. Có cách nào đơn giản hơn cho điều này hay tôi nên làm điều đó với DOM?
Khi giao dịch với DOM bạn có hai lựa chọn: 1) sử dụng có nguồn gốc DOM phân tích cú pháp 2) Sử dụng biểu thức chính quy (đó là overhead) – Yang
Tiếp tục đi. Sử dụng 'DOMDocument()' để thao tác – Yang
Không ai nên sử dụng các phương thức DOM thô để thao tác. Hãy xem xét phpQuery hoặc QueryPath, vv để giảm bớt boilerplate tẻ nhạt. – mario