PDA

View Full Version : مبتدی: اسکریپت تشخیص کلمات و حروف و علامت ها



omidkh68
پنج شنبه 18 خرداد 1391, 22:13 عصر
سلام
من کدی می خوام که بشه اعداد و کلمه هارو تشخیص داد و پیغامی داده بشه مثلا تا موقعی که به (;) نرسیده بگرده هرچی عدد و کلمه و اینا هست رو پیدا کنه مثلا:

salam45 ; omid123.45varam


خوب میخوام salam رو بشناسه و عدد 45 رو بشناسه تکراری هم اگر شناخت بگه 2تا سلام پیدا کردم
omid و 123.45 رو هم بشناسه
varam بشناسه

با تشکر

tux-world
جمعه 19 خرداد 1391, 08:14 صبح
شما باید از preg استفاده کنید برای تشخیص اونها

omidkh68
جمعه 19 خرداد 1391, 17:06 عصر
شما باید از preg استفاده کنید برای تشخیص اونها

یعنی دقیقا باید چه کاری انجام بدم؟؟؟
اینی که گفتین چیه تو php هست تابع هست؟؟

H:Shojaei
جمعه 19 خرداد 1391, 18:22 عصر
با سلام

اين رو يه نگاه بكنيد:
http://barnamenevis.org/showthread.php?342990-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1-%D8%A8%D9%87-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1-%DA%A9%D9%84%D9%85%D9%87-%D9%87%D8%A7-%D9%88-%D8%B1%DB%8C%D8%AE%D8%AA%D9%86-%D9%87%D8%B1-%D8%AD%D8%B1%D9%81-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%AE%D8%A7%D9%86%D9%87-%D8%A7%D8%B2-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87/page2
موفق باشيد♪♫

omidkh68
جمعه 19 خرداد 1391, 18:33 عصر
با سلام

اين رو يه نگاه بكنيد:
http://barnamenevis.org/showthread.php?342990-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1-%D8%A8%D9%87-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1-%DA%A9%D9%84%D9%85%D9%87-%D9%87%D8%A7-%D9%88-%D8%B1%DB%8C%D8%AE%D8%AA%D9%86-%D9%87%D8%B1-%D8%AD%D8%B1%D9%81-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%AE%D8%A7%D9%86%D9%87-%D8%A7%D8%B2-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87/page2
موفق باشيد♪♫


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

MMSHFE
جمعه 19 خرداد 1391, 18:48 عصر
خوب این سؤال شما کمی ابهام داره. برای مثال، توی همون کد نمونه که توی پاسخ شماره 1 گذاشتین، عدد 45 دوبار تکرار شده. یکبار مستقل و یکبار جزئی از 123.45
حالا اینجا باید دوبار شمرده بشه یا نه؟

omidkh68
جمعه 19 خرداد 1391, 18:53 عصر
خوب این سؤال شما کمی ابهام داره. برای مثال، توی همون کد نمونه که توی پاسخ شماره 1 گذاشتین، عدد 45 دوبار تکرار شده. یکبار مستقل و یکبار جزئی از 123.45
حالا اینجا باید دوبار شمرده بشه یا نه؟

با سلام خدمت شما مدیر محترم بخش

خیر ابهام نداره اون 45 نیست اون عدد ممیز دار هست حالا ممیز هم مهم نیس که باشه یا نه (123.45) میتونه 45 رو بشناسه و 123 رو هم بشناسه و همینطور مشکل من شناسایی کلمه هایی هست که کنار هم قرار گرفته اند
مثلا omid68 یا 123omid68
الان یعنی باید بگه 68 عدد هست و دوتا وجود داره و مثلا omid کلمه هست و 2 تا وجود داره

H:Shojaei
جمعه 19 خرداد 1391, 19:27 عصر
اقای شجاعی عزیز ممنون از لینکی که دادین ولی این مد نظر من نیست
من دنبال اسکریپتی میگردم که کامل باشه این صفحه ای که نشونم دادین کدش خیلی جالب نیس!
چون امتحانش کردم قبل ازینکه سوالمو مطرح کنم پست های سایت رو مطالعه کردم
ایراد های اون اسکریپت نهایی تو اخرین صفحه اینه که حتما باید فاصله داده بشه تا کلمه شناخته بشه و عدد هارو نمیشناسه
کد بهینه نیس!
سلام
اگه شما كل تاپيك رو مطالعه ميكردين ميفهميديد قضيه از چه قراره.
براي اين كه شما براي جدا كردن كلمات بتوني از ; استفاده كني يه if رو بايد كمي تغيير بدي در كل ميخوام بگم همون رو ميتوني براي اين كار هم تغيير بدي فقط كمي حوصله ميخواد اگه خواستي يه روش كلي دربارش بهتون ميدم.
در ضمن قسمت متن اون تاپيك رو هم براي اين ننوشتم كه خود آقاي omidmetal90 بنويسند تا محتواي كد دستشون بياد(اين رو همونجا هم ذكر كردم) وگر نه اين قسمتش رو هم مينوشتم.
موفق باشيد♪♫

MMSHFE
جمعه 19 خرداد 1391, 20:11 عصر
<?php
$string = 'salam45 ; omid123.45varam25salam';
preg_match_all('#[a-z]+#i', $string, $words, 2);
$count = count($words);
for($i = 0; $i < $count; $i++) {
$words[$i] = str_replace(range(0, 9), '', $words[$i][0]);
}
preg_match_all('#[0-9]+#', $string, $numbers, 2);
$count = count($numbers);
for($i = 0; $i < $count; $i++) {
$numbers[$i] = $numbers[$i][0];
}
$d_words = array();
foreach($words as $word) {
$keys = array_keys($d_words);
if(in_array($word, $keys)) {
$d_words[$word]++;
}
else {
$d_words[$word] = 1;
}
}
$d_numbers = array();
foreach($numbers as $number) {
$keys = array_keys($d_numbers);
if(in_array($number, $keys)) {
$d_numbers[$number]++;
}
else {
$d_numbers[$number] = 1;
}
}
$parts = array_merge($d_words, $d_numbers);
unset($words, $numbers, $d_words, $d_numbers);
var_dump($parts);
?>

موفق باشید.