• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اکسپورت شماره موبایل توسط regex
#1
سلام
من چند هزار خط این شکلی دارم
کد پی‌اچ‌پی:
    Line 270:     <Mobile>9005056826</Mobile>
    
Line 291:     <Mobile>9005056826</Mobile>
    
Line 311:     <Mobile>9004030057</Mobile>
    
Line 331:     <Mobile>9004030057</Mobile>
    
Line 351:     <Mobile>9001054606</Mobile>
    
Line 371:     <Mobile>9001054606</Mobile>
    
Line 391:     <Mobile>9004225504</Mobile

تو notepad++ توسط عبارت باقاعده (?s)<[^><]*?> تگهای mobile رو میتونم حذف کنم (در واقع با کاراکتر خالی ریپلیس میکنم)
ولی اون عبارتهای line xxxx ها میمونن

چجوری "فقط" این شماره موبایلاشو اکسپورت بگیرم از متن ؟

اینجا چرا به خط 55 ارور میده ؟

کد پی‌اچ‌پی:
<?php

function after($this$inthat)
{

    if(!
is_bool(strpos($inthat$this)))
    {
        return 
substr($inthatstrpos($inthat,$this)+strlen($this));
    }
        else
        {
            return 
false;
        }
}

function 
before($this$inthat)
{
    return 
substr($inthat0strpos($inthat$this));
}

function 
between($this$that$inthat)
{
    return 
before($thatafter($this$inthat));
}

function 
occurrencecount($this$that$inthat$count)
{

    
$newinthat after("$that"after("$this"$inthat));
        if(
$newinthat != false)
        {
            
$count $count 1;
            return 
occurrencecount($this$that$newinthat$count);
        }
            else
            {
                return 
$count;
            }
}

$xml '    Line 6:     <Mobile>9308019820</Mobile>
    Line 26:     <Mobile>9128019820</Mobile>
    Line 46:     <Mobile>9193158189</Mobile>
    Line 66:     <Mobile>9903158189</Mobile>
    Line 86:     <Mobile>921060044</Mobile>
    Line 106:     <Mobile>9422060044</Mobile>
    Line 126:     <Mobile>9538708767</Mobile>
    Line 146:     <Mobile>9008708767</Mobile>
    Line 166:     <Mobile>9168708767</Mobile>
    Line 187:     <Mobile>9133134699</Mobile>'
;

while (
occurrencecount('<mobile>','</mobile>',$xml,'0')){
    
$ex between ('<mobile>','</mobile>',$xml);        $xml str_replace ('<mobile>'.$ex.'</mobile>','',$xml);        $ex .= '\n\r'.$ex;
}
echo 
$ex;

?>
  پاسخ
تشکر شده توسط :
#2
خط 55 ش کجاست؟
چه خطایی میده؟
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : #elahe#
#3
(۱۳۹۵ آذر ۳۰, ۱۲:۴۸ ب.ظ)Y.P.Y نوشته: خط 55 ش کجاست؟
چه خطایی میده؟

return $count;
  پاسخ
تشکر شده توسط :
#4
همیشه پیام و سوال رو کامل بخون و بعد پاسخ بده Smile
خطاشو نگفتی
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : ayoubsys #elahe#
#5
نه که شما روی سوالو درست خوندی Smile

من اول سعی کردم با رجیکس شماره ها رو دربیارم که یه جایی ش گیر کردم
قسمت اول سوالم درمورد اینه

بعد اومدم با کدنویسی این کارو انجام بدم که ارور داده فعلا
ارور هم اینه
کد:
Notice: Undefined variable: ex in C:\xampp\htdocs\1\index.php on line 55
  پاسخ
تشکر شده توسط :
#6
typic up ...
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان