كيف احصل على سطر من جدول html

السلام عليكم

اريد مساعدة في php

لدي هذا الجدول

<table class="mytable">
    <thead>
        <tr>
            <th colspan="3" class="team">فريق</th>
            <th class="pld">لعب</th>
            <th class="won">فاز</th>
            <th class="draw">تعادل</th>
            <th class="lost">خسر</th>
            <th class="match-left">متبقية</th>
            <th class="goal-plus-minus" role="gridcell" aria-label="له وعليه">+/-</th>
            <th class="diff">فرق</th>
            <th class="pts">نقاط</th>
        </tr>
    </thead>
    <tbody>
        <tr id="a1" class="odd" style="">
            <td class="rank"> <span>1</span></td>
            <td class="team team_logo"> <img src="https://jdwel.com/image/teams/ita_napoli.png" class="club-logo" alt="شعار نابولي" width="30" height="30"></td>
            <td class="team">نابولي</td>
            <td class="pld">2</td>
            <td class="won">2</td>
            <td class="draw">0</td>
            <td class="lost">0</td>
            <td class="match-left">4</td>
            <td class="goal-plus-minus"> <span class="goal-minus">1</span>:<span class="goal-plus">7</span></td>
            <td class="diff">6</td>
            <td class="pts">6</td>
        </tr>
        <tr id="a2" class="even" style="">
            <td class="rank"> <span>2</span></td>
            <td class="team team_logo"> <img src="https://jdwel.com/image/teams/net_ajax.png" class="club-logo" alt="شعار أياكس أمستردام" width="30" height="30"></td>
            <td class="team">أياكس أمستردام</td>
            <td class="pld">2</td>
            <td class="won">1</td>
            <td class="draw">0</td>
            <td class="lost">1</td>
            <td class="match-left">4</td>
            <td class="goal-plus-minus"> <span class="goal-minus">2</span>:<span class="goal-plus">5</span></td>
            <td class="diff">3</td>
            <td class="pts">3</td>
        </tr>
       
    </tbody>
</table>

كيف احصل على السطر (tr) التي يحتوي على "أياكس أمستردام" فقط

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يمكنك جلب كامل الأسطر table rows ثم المرور على كل منها وتحديد ذاك الذي يحتوي النص "أياكس أمستردام" فقط.

لنقم أولا بجلب كامل الأسطر tr:

var trs = document.querySelectorAll('tr');

ثم kقوم بالمرور على كل منها:

trs.forEach(tr => { /**/ })

kتحقق في كل مرة من احتواء السطر على سلسلة نصية معينة، يمكن الاستفادة من التابع indexOf الذي يعيد -1 في حالة عدم امتلاك السلسلة النصية لأخرى مستهدفة:

if(tr.innerHTML.indexOf('أياكس أمستردام') !== -1){ /* السطر المستهدف */ }

وأخيرا، احفظ السطر في متغير واكسر الحلقة، فيكون كاملا:

var trs = document.querySelectorAll('tr');
var target = null;
trs.forEach(tr => {    
     if(tr.innerHTML.indexOf('أياكس أمستردام')){
         target = tr;
     }
})

مثال تجريبي:

target.style.background = 'red'

ستلاحظ انه تم تلوين خلايا السطر الذي يحتوي هذا النص.

Mohamed__99 أضف ردا

شكرا لك

هل يمكن تنفيد ذلك ب php

في حال كان كود الجدول مخزّن في متغير في PHP فيمكن استعمال كلاس DOMDocument.

<?php
$html_string = 'كود الجدول أو كود الصفحة بالكامل';

$dom = new DOMDocument();
$dom->loadHTML('<?xml encoding="utf-8" ?>'.$html_string);

$trs = $dom->getElementsByTagName('tr');

foreach ($trs as $key => $tr) {
    if ( strpos($tr->textContent, 'أياكس أمستردام') !== false ) {
        $tds = $tr->getElementsByTagName('td');

        echo '#: ' . $tds->item(0)->textContent;
        echo 'فريق: ' . $tds->item(2)->textContent;
        echo 'لعب: ' . $tds->item(3)->textContent;
        echo 'فاز: ' . $tds->item(4)->textContent;
        echo 'تعادل: ' . $tds->item(5)->textContent;
        echo 'خسر: ' . $tds->item(6)->textContent;
        echo 'متبقية: ' . $tds->item(7)->textContent;
        echo '+/-: ' . $tds->item(8)->textContent;
        echo 'فرق: ' . $tds->item(9)->textContent;
        echo 'نقاط: ' . $tds->item(10)->textContent;
    }
}
?>

شكرا لك اخي

هذا يفي بالمطلوب

العفو

قبل كل شيء تحتاج javascript للقيام بهذه المهمة حيث أن php ليس معنية بهذا التخصص, وتستطيع الحصول السطر المقصود في سؤالك ببساطة من خلال قيمة المعرف id المسندة إليه وكما يلي

let myTr= document.getElementById("a2")

أيضا يمكنك الوصول مباشرة الى الخلية التي تحتوي على النص "أياكس أمستردام" يمكنك ذلك بسطر برمجي واحد من خلال الselector المناسب كما يلي

document.querySelectorAll("#a2 td.team")[1]

لاحظ أن الدالة querySelectorAll تبحث عن جميع العناصر التي توافق الselector المستخدم أي أنها تعيد لك مصفوفة من العناصر وفي حالة المثال الخاص بك لدينا عنصرين لهما نفس الصنف team لذا سنختار العنصر الثاني من المصفوفة بواسطة ال index المساوي الى 1.