ຄອມພິວເຕີດໍາເນີນໂຄງການ

PHP: ການຫມູນໃຊ້ string. PHP ຂອງຟັງຊັນສະຕິງ

ສະຖານທີ່ສາມາດໄດ້ຮັບການແບ່ງອອກເປັນ static ແລະເຄື່ອນໄຫວ. ຫຼັງຈາກແມ່ບົດ HTML ແລະ CSS, ເຊິ່ງອະນຸຍາດໃຫ້ເພື່ອເຮັດໃຫ້ບັດທຸລະກິດທີ່ສວຍງາມໃນອິນເຕີເນັດ, ຫຼາຍກໍາລັງຄິດກ່ຽວກັບວິທີສ້າງເວັບໄຊແບບໄດນາມິກກັບ PHP. ໃນ coder ນີ້ຕ້ອງໃຊ້ເວລາເຂົ້າໄປໃນບັນຊີທີ່ທ່ານໄດ້ໃນປັດຈຸບັນເລີ່ມຕົ້ນທີ່ຈະຮຽນຮູ້ການຂຽນໂປຣແກຣມເວັບໄຊ: ວິທີການເຮັດວຽກຮ່ວມກັບເວັບໄຊດັ່ງກ່າວຈະເປັນທີ່ແຕກຕ່າງກັນ. ຫນຶ່ງໃນບັນຫາທໍາອິດທີ່ພົບໂດຍເລີ່ມຕົ້ນໃນ PHP - string ເຮັດວຽກ, ການອ່ານແລະການປະມວນຜົນໃຫ້ເຂົາເຈົ້າ.

ມັນເປັນມູນຄ່າບອກວ່າໃນ PHP ຟັງຊັນສະຕິງການຫມູນໃຊ້ມີສ່ວນຮ່ວມເປັນຈໍານວນຂອງວິທີການ, ສະນັ້ນການທີ່ຈະເລີ່ມຕົ້ນຄ່າໃຊ້ຈ່າຍໃນການສຶກສາຂອງເຂົາເຈົ້າທີ່ມີການຫມູນໃຊ້ງ່າຍດາຍບາງ, ເຊັ່ນ: ເສັ້ນົນາໍ້, ການຊອກຫາ, ໄດ້ຮັບຫຼືປ່ຽນ substring ເປັນ, ລົງທະບຽນການປ່ຽນແປງແລະກັບຄືນໄປຫາຄວາມຍາວເສັ້ນ. ຈໍານວນຫຼາຍຂອງການເຄື່ອນໄຫວບໍ່ໄດ້ເຮັດວຽກດີມີລັກສະນະ Cyrillic. ເພາະສະນັ້ນ, ຕົວຢ່າງທັງຫມົດແມ່ນລາຍລັກອັກສອນໃນພາສາອັງກິດເພື່ອໃຫ້ເຂົ້າໃຈ. ສໍາລັບແຖວເກັດທີ່ຢູ່ Cyrillic ຫນ້າທີ່ຄືກັນໄດ້ຖືກນໍາໃຊ້, ແຕ່ມີ mb_ prefix (ເຊັ່ນ: mb_strpos ()). ກ່ອນທີ່ຈະໃຊ້ຮ່ວມໃນ php.ini ທ່ານຕ້ອງ uncomment ເສັ້ນ; extension = php_mbstring.dll, ພຽງແຕ່ໂດຍຖອນຈ້ໍາຈຸດທີ່.

ການສ້າງແລະການຂຽນສະຕິງ

ພວກເຮົາຈະວິເຄາະຜົນຜະລິດເສັ້ນກັບຫນ້າຈໍການນໍາໃຊ້ພາສາເປັນທີ່ຮູ້ຈັກກັບທຸກໆຢ່າງຂອງແອັກໂກ້ການອອກແບບ. ໂຄງການສາມາດສົ່ງອອກໂດຍກົງເປັນ string:

echo "ນີ້ບັນທັດໃຫມ່"

ຫຼືທໍາອິດສ້າງຕົວແປແລະຫຼັງຈາກນັ້ນສະແດງວ່າມັນ:

$ Str = "ນີ້ເປັນສະຕິງໃຫມ່";

echo $ str;

ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະສະແດງທີ່ຫຼາກຫຼາຍສາຍໃນຫນຶ່ງຫຼືການ resorting ກັບການ concatenation ຂອງເຂົາເຈົ້າ:

echo "ນີ້". "New". "String";

ຫຼື

$ str1 = "ນີ້";

$ str2 = "ໃຫມ່";

$ str3 = "string";

echo $ str1. $ str2. $ str3;

ໃນກໍລະນີສຸດທ້າຍ, ມັນຈະສະແດງ EtoNovayaStroka. ຊ່ອງສາມາດເພີ່ມໄດ້ໂດຍກົງໃນ echo ໂທ:

echo $ str1. ''. $ str2. ''. $ str3;

ໃນກໍລະນີດັ່ງກ່າວນີ້, ໄດ້ສະແດງຫນ້າຈໍ ". ເສັ້ນໃຫມ່ນີ້" concatenation ເປັນໄປໄດ້ບໍ່ພຽງແຕ່ໃນການຜະລິດ, ແຕ່ຍັງຈະສ້າງສາຍ:

$ str1 = "ນີ້";

$ str2 = "ໃຫມ່";

$ str3 = "string";

$ string = $ str1. ''. $ str2. ''. $ str3;

echo $ string;

Echo ສະແດງທັງ ຕົວອັກສອນ, ແລະ Cyrillic. ຖ້າຫາກວ່າຫນຶ່ງຂອງການປ່ຽນແປງທີ່ມີຈໍານວນ, ຫຼັງຈາກນັ້ນ concatenation ຂອງຈໍານວນນີ້ຈະໄດ້ຮັບການປ່ຽນໃຈເຫລື້ອມໃສສາຍທີ່ເຫມາະສົມ:

$ i = 2;

$ sum = $ i + $ i ; // ໃນປັດຈຸບັນ $ ລວມປະກອບດ້ວຍຈໍານວນ 4

echo $ i. "+". $ i. "=". $ sum;

ຈະໄດ້ຮັບການສະແດງ: "2 + 2 = 4".

ອັກສອນພິເສດ

ສົມມຸດວ່າເສັ້ນໄດ້ຖືກກໍານົດໂດຍເປັນສອງ quote ($ string = "ນີ້ແມ່ນວິທີ"). ຫຼັງຈາກນັ້ນທ່ານຢ່າງມີຄວາມສຸກສາມາດໃຊ້ລໍາດັບ escape ໄດ້:

  • \ N ເຮັດໃຫ້ບັນທັດ;
  • \ ຄືນ R carriage;
  • \ "Escapes ເຄື່ອງຫມາຍເປີດວົງຢືມ:
    • echo "The string \" double \ "ລາຄາ"; // string ກັບ "double" ວົງຢືມ
  • \ $ Shields ເງິນໂດລາ;
  • \\ ເຄື່ອງຫມາຍທັບຂວາຫນີ.

ລໍາດັບຫຼາຍ, ທັງຫມົດຂອງເຂົາເຈົ້າສາມາດໄດ້ຮັບການພົບເຫັນຢູ່ໃນເອກະສານຢ່າງເປັນທາງການ PHP.

ຊອກຫາຕໍາແຫນ່ງຂອງການປະກົດຕົວຄັ້ງທໍາອິດ

Suppose ພວກເຮົາມີ string ງ່າຍດາຍ:

$ string = "ຊື່ຂອງຂ້າພະເຈົ້າເປັນ Yemelyan ແລະຂ້າພະເຈົ້າ 27 ປີເກົ່າ";

ພວກເຮົາຍັງມີສອງແຖວເກັດທີ່ຢູ່ຊື່:

$ name = "Yemelyan";

$ anotherName = "Katherin";

ພວກເຮົາຈໍາເປັນຕ້ອງຮູ້ວ່າແຖວທໍາອິດຂອງທັງສອງຊື່. ມັນໃຊ້ strpos function ($ str, $ ການຊອກຫາ). ມັນຈະກັບຄືນມາຈຸດປະສົງຂອງການຊອກຫາ substring $ ທີ່ຕ້ອງການໄດ້, ຖ້າຫາກວ່າ string ໄດ້ຖືກບັນຈຸໃນເບື້ອງຕົ້ນ, $ str. ຖ້າບໍ່ດັ່ງນັ້ນ, ການທໍາງານຂອງຜົນໄດ້ຮັບທີ່ບໍ່ຖືກຕ້ອງຄ່າບູລີນ. ສໍາລັບຕົວຢ່າງ, strpos ($ string, $ anotherName) ໃຫ້ຜົນໄດ້ຮັບທີ່ບໍ່ຖືກຕ້ອງ, ແລະ strpos ໄດ້ ($ string, $ name) - ຈໍານວນເຕັມ. ລະຫັດດັ່ງກ່າວຈະເປັນດັ່ງກ່າວ (option ຂຽນເມື່ອຕໍາແຫນ່ງແມ່ນການສະແດງເທິງຫນ້າຈໍ):

$ string = "ຊື່ຂອງຂ້າພະເຈົ້າເປັນ Yemelyan ແລະຂ້າພະເຈົ້າ 27 ປີເກົ່າ";

$ name = "Yemelyan";

$ anotherName = "Katherin";

strpos echo ($ string, $ anotherName ); // ຜົນທີ່ບໍ່ຖືກຕ້ອງ

strpos echo ($ string, $ name ); // ສະແດງຕໍາແຫນ່ງຂອງການປະກົດຕົວຄັ້ງທໍາອິດຂອງສາຍອັກຂະ

ໃຫ້ສັງເກດເສັ້ນວ່ານໍ້າເບີເລີ້ມຕົ້ນຢູ່ທີ່ສູນ, ວ່າແມ່ນ, ໃນກໍລະນີຂອງພວກເຮົາບັນທັດສຸດທ້າຍສະແດງຈໍານວນ 11 (ພື້ນທີ່ກໍາລັງພິຈາລະນາຍັງ).

ຕໍາແຫນ່ງຄົ້ນຫາຂອງການປະກົດຕົວສຸດທ້າຍຂອງ substring ແລະ pitfalls

ຖ້າ strpos () ຟັງຊັ່ນໃຫ້ຜົນໄດ້ຮັບຕໍາແຫນ່ງຂອງການປະກົດຕົວຄັ້ງທໍາອິດ, ຫຼັງຈາກນັ້ນ strrpos ກັນຕົນ () ຄົ້ນຫາສໍາລັບການປະກົດຕົວສຸດທ້າຍຂອງ substring ໄດ້.

ມີ pitfalls ບາງທີ່ກ່ຽວຂ້ອງກັບການເລີ່ມຕົ້ນເປັນຈໍານວນດັ່ງກ່າວແມ່ນ. ມັນຄວນຈະໃຊ້ເວລາເຂົ້າໄປໃນບັນຊີ: ໃນ PHP ຫມູນໃຊ້ string ສາມາດໄດ້ຮັບການສັບສົນໂດຍຈໍາກັດໃນການສົມທຽບ. ດັ່ງນັ້ນ, ມັນເປັນທີ່ດີກວ່າທີ່ຈະບໍ່ນໍາໃຊ້ການດໍາເນີນການສົມທຽບກັບປະຕິເສດເປັນ: strpos ($ str, $ ຊອກຫາ) = false !. ສະບັບພາສາຂອງ PHP ດ້ວຍຕົວຢ່າງຂອງຄວາມທຽບເທົ່າດັ່ງກ່າວອາດຈະບໍ່ໄດ້ເຮັດວຽກຢ່າງຖືກຕ້ອງ, ເນື່ອງຈາກວ່າຈໍານວນເສັ້ນເລີ່ມຕົ້ນທີ່ສູນແລະ 0 ຕີລາຄາຢ່າງມີເຫດຜົນທີ່ບໍ່ຖືກຕ້ອງ. ນີ້ extends ກັບ strrpos () ຫນ້າທີ່.

ວິທີການຊອກຫາຈໍານວນຂອງການປະກົດຕົວ substring ໄດ້

ປົກກະຕິແລ້ວທີ່ທ່ານຕ້ອງການເພື່ອຊອກຫາແມ່ນບໍ່ການປະກົດຕົວຄັ້ງທໍາອິດຫຼືສຸດທ້າຍຂອງ substring ໃນ string ໄດ້, ແລະຈໍານວນທັງຫມົດ. ສໍາລັບຈຸດປະສົງ substr_count () ຫນ້າທີ່ນີ້, ເຊິ່ງຈັດຢູ່ໃນຢ່າງຫນ້ອຍສອງຕົວແປ: substr_count ($ str, $ ການຊອກຫາ). ມັນຈະກັບຄືນມາເປັນຈໍານວນເຕັມ. ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະຫຼຸດຜ່ອນຂອບເຂດຂອງການຊອກຫາໃນບັນທັດໄດ້, ການທໍາງານຂອງຜ່ານສອງຕົວແປຫຼາຍກວ່ານັ້ນຄືການເລີ່ມຕົ້ນແລະໃນຕອນທ້າຍຂອງສາຍ, ຕາມລໍາດັບ. ທີ່ທໍາງານຢູ່ໃນກໍລະນີນີ້ໄດ້ຖືກເອີ້ນວ່າເປັນ: substr_count ($ str, ຄົ້ນຫາ $, $ ເລີ່ມຕົ້ນ, $ ທີ່ສຸດ). ການທໍາງານຂອງຈະຊອກຫາຄົ້ນຫາ $ substring ໃນໄລຍະຫ່າງຈາກ $ ເລີ່ມຕົ້ນກັບໃນຕອນທ້າຍ $ ຂອງຕົ້ນສະບັບ string $ str. ຖ້າຫາກວ່າສະຕິງບໍ່ໄດ້ພົບເຫັນ, ການທໍາງານຂອງຜົນໄດ້ຮັບສູນ.

ວິທີການມີການປ່ຽນແປງກໍລະນີຂອງສາຍໃນ PHP ໄດ້: ຕົວຢ່າງ

ການປ່ຽນແປງກໍລະນີມັກຈະຖືກນໍາໃຊ້ເພື່ອປຽບທຽບສະຕິງແລະ ເງື່ອນໄຂ. ສົມມຸດວ່າຜູ້ໃຊ້ຕ້ອງໃສ່ຊື່ຂອງພຣະເຈົ້າສູງສຸດໃນ mythology Norse. ໂຄງການດັ່ງກ່າວແມ່ນສະບັບພາສາຂອງ "ຫນຶ່ງ", ມີໃຜເຂົາຈະໄດ້ຮັບການປຽບທຽບກັບການຕອບສະຫນອງຂອງຜູ້ໃຊ້ໄດ້. ຖ້າຫາກວ່າຂໍ້ຄວາມເຂົ້າໄປໃນຈະແຕກຕ່າງກັນຈາກທີ່ມີຢູ່ແລ້ວ (ສໍາລັບຕົວຢ່າງ, ຜູ້ໃຊ້ຂຽນເປັນ "ຫນຶ່ງ" ຫລື "ຫນຶ່ງ"), ໂຄງການຈະກັບຄືນທີ່ບໍ່ຖືກຕ້ອງແທນທີ່ຈະເປັນຄວາມຈິງ. ເພື່ອຫຼີກເວັ້ນການດັ່ງກ່າວນີ້, ການນໍາໃຊ້ການປ່ຽນແປງການທໍາງານຂອງສະມາຊິກ. ນີ້ມັກຈະຖືກນໍາໃຊ້ຖ້າຫາກວ່າເວັບໄຊດັ່ງກ່າວແມ່ນຢູ່ໃນ tags PHP: ແທນທີ່ຈະຫຼາຍຮ້ອຍຄົນຂອງ variants ຂອງຄໍາວ່າ "ເອກະຊົນ" ( .. "ສ່ວນຕົວ" "ເອກະຊົນ," "ສ່ວນບຸກຄົນ" ແລະອື່ນໆ) ມີພຽງແຕ່ຫນຶ່ງໂຄດຄໍາສັ່ງໃນອັກສອນຕົວນ້ອຍ.

strtolower () ການທໍາງານຂອງການປ່ຽນແປງສະມາຊິກຕ່ໍາ. ສົມມຸດວ່າມີເສັ້ນ $ catName = "Fluffy". ການທໍາງານຂອງ strtolower ($ catName) ຈະກັບຄືນມາສະຕິງ "fluffy". ການປ່ຽນແປງທີ່ຈະກໍລະນີເທິງອາດຈະຜ່ານ strtoupper () ຫນ້າທີ່.

ວິທີການຊອກຫາຄວາມຍາວຂອງ string ໃນ PHP ໄດ້: ເຮັດວຽກທີ່ມີຫນ້າທີ່

ປົກກະຕິແລ້ວມັນຕ້ອງການທີ່ຈະຊອກຫາຄວາມຍາວຂອງຊ່ອຍແນ່ໄດ້. ສໍາລັບຕົວຢ່າງ, ໃນການເຮັດວຽກ PHP ກັບຊ່ອຍແນ່ຂອງປະເພດນີ້ອາດຈະໄດ້ຮັບທີ່ຕ້ອງການໃນວົງຈອນການສ້າງໄດ້. ສໍາລັບການຊ່ອຍແນ່ຄົ້ນຫາທີ່ໃຊ້ strlen () ການທໍາງານຂອງ, ທີ່ຈະກັບຄືນຈໍານວນ - ຈໍານວນຂອງຕົວອັກສອນໄດ້. ພວກເຮົາຕ້ອງບໍ່ລືມວ່າມີລັກສະນະທີ່ຜ່ານມາຈະມີຈໍານວນ strlen ($ str) -1, ເປັນເລກທໍາອິດຂອງສູນ.

ໄດ້ຮັບແລະ substring ທົດແທນໃນ PHP: ການເຮັດວຽກກັບສະຕິງ

ການທໍາງານຂອງ substring substr ດໍາເນີນການ () ທີ່ສາມາດໃຊ້ເວລາສອງຫຼືສາມກະທູ້: substr ($ str, $ ເລີ່ມຕົ້ນ, $ ທີ່ສຸດ). ໃຫ້ຂອງເວົ້າວ່າພວກເຮົາມີ string $ string = "Fluffy cat", ແລະພວກເຮົາຕ້ອງການເພື່ອໃຫ້ໄດ້ຮັບ substring ຈາກສອງມີລັກສະນະສີ່. ເນື່ອງຈາກວ່ານໍ້າເບີເລີ້ມຕົ້ນຢູ່ທີ່ສູນ, substring ຂອງຕົວແປນີ້ຈະເບິ່ງຄືແນວນີ້: $ newString = substr ($ string, 1, 4). ຖ້າຫາກວ່າພວກເຮົາແນະນໍາ $ newString = substr ($ string, 1), ພວກເຮົາໄດ້ຮັບ substring ຈາກສອງມີລັກສະນະທີ່ຜ່ານມາ (ຊຶ່ງແມ່ນ "luffy") ໄດ້. ລະຫັດນີ້ຈະຄືກັນກັບ string ລະຫັດເຕັມການນໍາໃຊ້ strlen (): substr ($ string, 1, strlen ($ string)).

ເພື່ອທົດແທນການ substring ແມ່ນໃຊ້ str_replace () ຟັງຊັນທີ່ໃຊ້ເວລາສາມຕົວແປ: str_replace ($ substr, $ newSub, $ str). ບໍ່ເຫມືອນກັບການເຮັດວຽກຈໍານວນຫຼາຍ, str_replace () ເຮັດວຽກຢ່າງຖືກຕ້ອງກັບລັກສະນະ Cyrillic ແລະບໍ່ມີຄ້າຍຄືກັນ prefixed. ຕົວຢ່າງເຊັ່ນ:

$ str = "ມື້ນີ້ອາກາດແມ່ນເຮັດໃຫ້ເກງຂາມ!";

$ newStr = str_replace ( "ຮ້າຍແຮງ", "ສິ່ງມະຫັດ", $ str); // ມື້ນີ້ດິນຟ້າອາກາດສິ່ງມະຫັດ!

string Translation ກັບຈໍານວນ

ໃຜກໍ່ຕາມທີ່ໄດ້ສຶກສາການຂຽນໂປຣແກຣມເວັບໄຊທ໌ sooner ຫຼືຫຼັງຈາກນັ້ນມີການປ່ຽນສະຕິງທີ່ຈໍານວນ. ສໍາລັບຈຸດປະສົງນີ້, ສອງປະຕິບັດຫນ້າທີ່ຄ້າຍຄືກັນໄດ້ຖືກນໍາໃຊ້: intval () ແລະ floatval (), ແຕ່ລະຄົນທີ່ໄດ້ຮັບ $ string ຕົວແປຫນຶ່ງ. ຈາກກັນແລະກັນ, ພວກເຂົາເຈົ້າມີຄວາມແຕກຕ່າງພຽງແຕ່ແບ່ງຕາມປະເພດຂອງຂໍ້ມູນກັບຄືນ: intval () ຈະກັບຄືນມາເປັນຈໍານວນເຕັມ, ແລະ floatval () - ຈໍານວນຈຸດທີ່ເລື່ອນໄດ້.

ສໍາລັບການນໍາໃຊ້ເປັນ intval (), ແລະ floatval () ຮຽກຮ້ອງໃຫ້ມີທີ່ string ທໍາອິດຂອງຈໍານວນຫນຶ່ງ, ແລະພວກເຂົາເຈົ້າຈະໄດ້ຮັບການປ່ຽນໃຈເຫລື້ອມໃສຈໍານວນຫນຶ່ງ. ຖ້າຫາກວ່າຕົວເລກທີ່ຈະໄປທີ່ກໍານົດໄວ້ຂອງຕົວອັກສອນໃດຫນຶ່ງ, ພວກເຂົາເຈົ້າພຽງແຕ່ບໍ່ສົນໃຈມັນ. ໃນກໍລະນີນັ້ນ, ຖ້າຫາກວ່າເສັ້ນໄດ້ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ, ການນໍາໃຊ້ຂອງການທໍາງານຈະກັບຄືນສູນ. ໂດຍຫລັກການແລ້ວ, ເສັ້ນຄວນປະກອບດ້ວຍຕົວເລກເທົ່ານັ້ນ.

ການແປພາສາຂອງສາຍອັກຂະລະ

ປົກກະຕິແລ້ວຈໍາເປັນຕ້ອງໄດ້ປ່ຽນຈໍານວນເປັນຊ່ອຍແນ່. ສໍາລັບຕົວຢ່າງ, ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະໃຊ້ເວລາເຄິ່ງຫນຶ່ງຂອງມັນແລະມີລໍາຕັ້ງຊື່ຮູບສີ່ຫຼ່ຽມມົນ (ສໍາລັບຕົວຢ່າງ, ກວດສອບວ່າສະມະການຄືພໍໃຈ: 88 x 88 + 33 x 33 = 8833). ໃນກໍລະນີດັ່ງກ່າວນີ້, ການທໍາງານຂອງ strval (), ທີ່ຈະກັບຄືນຈໍານວນຊ່ອຍແນ່. ຫຼັງຈາກນີ້ບັນທັດໃຫມ່, ທ່ານສາມາດປະຕິບັດການປະຕິບັດອື່ນໆທັງຫມົດ: ແກ້ໄຂ, ຊອກຫາການປະກົດຕົວຂອງ substring, ແລະຫນ້າທີ່ອື່ນໆ. ຖ້າຫາກວ່າມີຄວາມຈໍາເປັນ, ເສັ້ນສາມາດໄດ້ຮັບການປ່ຽນໃຈເຫລື້ອມໃສຈໍານວນອະທິບາຍແລ້ວຂ້າງເທິງນີ້.

ບົດຄວາມທີ່ໄດ້ພິຈາລະນາພຽງແຕ່ສ່ວນຂະຫນາດນ້ອຍຂອງການເຮັດວຽກທັງຫມົດທີ່ກ່ຽວຂ້ອງກັບເສັ້ນ. ສ່ວນຫນຶ່ງຂອງການປະຕິບັດຫນ້າ undocumented ເຮັດວຽກມີສັນຍາລັກ, ແຕ່ວ່າສ່ວນໃຫຍ່ບໍ່ໄດ້ຮັບການປະກອບອຸປະກອນການເນື່ອງຈາກການສະເພາະໄດ້. ເພື່ອກາຍເປັນທີ່ຄຸ້ນເຄີຍກັບການເຮັດວຽກເຫລົ່ານີ້ແມ່ນມີຄວາມຈໍາເປັນເພື່ອດໍາເນີນການອ່ານເອກະສານຢ່າງເປັນທາງການກ່ຽວກັບ PHP, ເຊິ່ງຈະສະແດງຂໍ້ມູນໃນປະຈຸບັນ.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lo.unansea.com. Theme powered by WordPress.