ایجاد یک فیلتر متنی برای دریافت کارکتر های فارسی و اعداد فارسی + مهم

imanmir

Member
با سلام دوستان من متنی به شکل زیر می خوام به وسیله یک تابع فقط اعداد فارسی و کاراکتر های فارسی را به من بده ه عنوان مثل خروجی :علی فهمیده - قم - 03707 و... باشه . کاراکتر های دیگه حذف بشه من تابع های زیادی رو میشناسم ولی در اون تابع های باید یک مقدار ثابت بدیم مثلا بگیم فقط علی فهمیده رو بده ولی من می خوام همه کاراکتر های فارسی رو بده علی فهمیده و حمید رضا نوری
بسیار ممنون می شم - فوری بی زحمت

o²خ^،³²@J@Jc% &g &g WVUW30لاقم q3قم 03707علی فهمیدهvxp
*L %اuh+c%WSع KbS^پ bbJJJJc% 4 4 0520558حمیدرضانوری88U =@ی]تhIc%W:×/5 [JJ5JJc%7 " 0 رضا حسینی ث vW فk2تg1iXc%W لالاJJJJc% 0 گ 4غ 6v1iPc%W8c%WW30ا
 

parsiteam

Member
این فکر به ذهن من رسید :

بیا اول 32 حرف الفبا رو داخل آرایه تعریف کن . مثلا بگو حروف الفبا هستن : آ ب پ ت ث ....

بعد بیا عبارت مورد نظرتو تک تک حروفشو با آرایت بررسی کن . اگر داخل آرایه بود بریز داخل یک متغیر . از آخر اونو به عنوان خروجی هرکاری خواستی بکن .
 

imanmir

Member
یک مثال لطفا

با سلام مرسی از پاسختان و فکر می کنم جواب بده می شه لطفا یک مثال بزنید
 

sajadmaz

Member
شما میخوایین فقط تویه یک رشته توابع فارسی رو برگردونه ؟
 

imanmir

Member
یک متن بزرگ

با سلام من می خوام یکمتن شامل 1000 خطی رو بهش بدم و اون فقط اعداد و کاراکتر های فارسی رو بر گردونه ؟
من فکر می کنم آرایه خوب فکری باشه ولی شاید جواب نده
 

aminoia

Member
روش آرایه یی می شه اما نه به این راحتی
روش سریع تر شاید استفاده از زیر رشته ها باشه
 

imanmir

Member
لطفا ارائه راه حل با دلیل منطقی و کد

با سلام لطفا ارائه راه حل با دلیل منطقی و کد بفرمایید
 

mosi20

Active Member
ببین این به کارت میاد.
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?
$data='
o²خ^،³²@J@Jc% &g &g WVUW30لاقم q3قم 03707علی فهمیدهvxp
*L %اuh+c%WSع KbS^پ bbJJJJc% 4 4 0520558حمیدرضانوری88U =@ی]تhIc%W:×/5 [JJ5JJc%7 " 0 رضا حسینی ث vW فk2تg1iXc%W لالاJJJJc% 0 گ 4غ 6v1iPc%W8c%WW30ا';
@preg_match_all("#(ا|ب|پ|ث|ج|چ|ح|ی|خ|د|ذ|ر|ز|س|ش|ط|ظ|ع|غ|ف|ق|ک|گ|ل|م|ن|و|ه|ي|ئ|ض|ص| |1|2|3|4|5|6|7|8|9|0 )#", $data, $matches);
for($i = 0; $i < count($matches[1]); $i++){
	print $matches[1][$i];
}

?>
 

imanmir

Member
مشکل جدی تر

با سلام خیلی ممنون کد جواب داد خسته نباشید اما یک مشکل جدی تر این تابع برای متن های کوچیک جواب می ده و برای متن بزرگ عمل می کنه ولی خیلی سرعتش پائینه
هدف کلی:
یک دریافت کننده فایل در سایت هستش
یک فایل txt. را کاربر انتخاب می کنه که دورن آن بالای 30000 خط هستش که شامل حروف اینگلیسی , عدد , شکلک , فارسی هستش که ما فقط عدد (بالای 8 کاراکتر باشد)و فارسی رو می خواهیم
بعد روی انتقال فایل کلیک زد
اطلاعات وارد بانک اطلاعاتی mysql می شود
مشکلات:
1- متحوای فایل txt. را چگونه در اختیار بگیرم تا بتواند در یک متغیر قرار دهم؟
- چگونه اعداد(بالای 8 کاراکتر فقط ) و کاراکتر های فارسی را جدا کنه و با فاصله و مرتب در اختیار داشته باشد (متن بالای 30000خط) با سرعت مناسب
- کاراکتر های غیر مجاز مانند <,>,'," و... که در فایل وجود دارد و php به آنها حساس می باشد از بین ببرم تا ایجاد مشکل برای خواندن محتوای فایل نکند
- چگونه یِ را به ی خالی تبدیل کنه
- نمایش کاراکتر های فارسی درست باشد (یونیکد)
بببخشید که موارد زیاد هستش لطفا راهنمایی نمایید و در ضمن و یک نمونه فایل که دوستمون کد رو دادن به همراه فایلtxt. مورد نظر می گذارم با تشکر
 

پیوست ها

  • test.zip
    54.5 کیلوبایت · بازدیدها: 0

mosi20

Active Member
من در همون حد که قبلا نوشتم میتونم کمک کنم.
دیگه برای جزئیات بیشتر وقتم بهم اجازه نمیده.
 

imanmir

Member
دو سوال آخر

با سلام و خسته نباشید خیلی ممنون از پاسختان فقط دو سوال من چگونه می تواند متحوای یک فایل txt را در اختیار بگیرم و اینکه در درون آن فایل عملیات جایگزی کلمه یِ به ی مرسی
 

جدیدترین ارسال ها

بالا