Текст из текстового поля в базе данных mysql обрезается по специальным символам и знакам минус в phpmyadmin или при использовании php.
Привет еще раз, есть несколько вопросов, относящихся к такого рода вещам, но никаких реальных окончательных ответов. У меня всегда были головные боли, когда я имел дело с текстовыми полями, которые содержат описания, скажем, 1000-5000 символов, теперь длина не в том, есть разные символы, которые используют люди, у меня недавно была большая проблема с минусами, обрезающими текст при загрузке CSV поэтому я заменил их гипсами, я даже не знал, что есть разница, и не могу воспроизвести разные символы с помощью моей собственной клавиатуры! Я думал, что они все пошли, однако, к моему ужасу, я сейчас работаю с фидом XML, который я буду использовать для заполнения удаленного веб-сайта деталями в этих описаниях, и, естественно, я получаю эту ошибку
Ошибка синтаксического анализа XML: неправильно сформированное расположение:
http://www.website.com/clients/clientname/xml/ownwebsite.xml????
Строка № 569, столбец 18: 2.
Станция метро и # 034
------------------ ^
Теперь, когда я смотрю в самом xml-файле, полное описание там примерно так ...
<description><![CDATA[Fantastic apartment available for viewing!
Rooms: 2 Bed + Maids Room
Bath: 2.5
Area: 2000 Sq. Ft.
Fully Furnished!!
Right Side
View: Marina View
Access to gym, parking, bar and the beach
For more information or viewing, please call: 12345678910
Nearby:
1. Dubai College - 5minutes
2. Nakheel Metro Station - 5 minutes
3. Mall of Emirates - 10minutes
4. Eternity Medicine Institute(Hospital) - 9 minutes
5. Dubai Airport - 33 minutes
6. Beach - Walking Distance
The 20 Shoreline Apartment buildings that line the east side of The
Trunk features some of the Middle East<br/><br/>In the
trunk, beautiful affordable 4 bed room, 3 bed room , 2 bed room
and 1 bed room Apartments are offered with all modern amenities.
You can enjoy the convenience of world class entertainment, dining and
shopping with majestic oceans views.
Rooms
- Stunning water views
- Ceramic floor tiles
- Solid core entry door with security view hole
- Walk in closest with shelves
- Insulated and double glazed windows
- Tiled balconies
- Overhead lighting
Kitchen
- Highest quality kitchen cabinetry
- Ceramic floor tiles
- Ceramic tiled splash backs
- Selected granite tops
- Twin bowl stainless steel sink with quality mixer tap
- Space and services provided for major appliances
- Track lighting
Bathroom
- Quality vanities with Granite tops
- Ceramic tiled flooring and walls
- Ceramic sanitary ware with matching accessories
- High mirrors and vanity lighting
- Ceramic accessory package to match bathroom design
- Safety glass shower enclosures
- High quality mixer taps
Technology & Security
- High-speed internet access with •future technology-ready• features
- Apartments ready for cable TV and telephones
- Apartments ready for state of the art security system
- High quality switches and outlets
- Security Guard/ Janitor in each building
External Features & Palm Services
- Large underground Parking facilities
- Gardens and Landscape maintained by The Palm
Shoreline Apartments Health And Recreation Clubs
- 5 Health Clubs ( 1 for 4 apartments blocks)
- Access to Clubs for a nominal fee
- All located along the seashore
- All managed by The Palm including pool maintenance
- All with Ground + 1 Floor
- All with Large Swimming Pool
- All with Modern Gym
- All with Children's playground
- All with Restaurants<br/><br/> (unit description)
For more information or viewing, please call: 00971 4 450 8666
Nearby:
1. School -
2. Metro Station �"
3. Shopping Mall �"
4. Hospital �"
5. Dubai Airport �"
6. Beach �"
Mortgage (available or not)
Rental yield:
( tower description and all facilities)
Facilities and amenities like: Balcony - Lobby in the building - double glazed windows - Central AC - waste disposal - 7Floors in the building - has 3 elevators - parking space - 24 hour concierge - internet connection - satellite connection - gym or health club - 24 hour security.
(area description and all facilities and amenities)
Our working hours are:
From Saturday to Thursday 8:30 AM to 8:00 PM
To have more information regarding this property, please call our customer service helpdesk on 00971 4 450 8666 or send us an email; info@apex-brokers.com
To find similar properties you can visit our website: www.apex-brokers.com
For after office working hours, weekend or holidays please call on: 00971 50 917 4500
LIST YOUR RESIDENTIAL OR COMMERCIAL PROPERTY WITH US,
WE HAVE READY CASH BUYERS AND TENANTS LOOKING FOR THE PROPERTIES IN
Emirates hills, Palm Jumeirah, Al Barari, Jumeirah Island, Arabian Ranches, The Villa, Victory Heights, Hattan, Meadows, The Lakes, The Springs, Jumeirah Park, Jumeirah, Dubai Marina, Jumeirah Beach Residence(JBR), Downtown, Business Bay, The Greens, The Views, Jumeirah Lakes Tower (JLT), Tecom, Al Barsha
]]></description>
Тем не менее, когда в phpmyadmin или эхом в php я получаю только ...
Fantastic apartment available for viewing! Rooms: 2 Bed + Maids Room Bath: 2.5 Area: 2000 Sq. Ft. Fully Furnished!! Right Side View: Marina View Access to gym, parking, bar and the beach
For more information or viewing, please call: 12345678910 Nearby:
1. Dubai College - 5minutes
2. Nakheel Metro Station - 5 minutes
3. Mall of Emirates - 10minutes
4. Eternity Medicine Institute(Hospital) - 9 minutes
5. Dubai Airport - 33 minutes
6. Beach - Walking Distance
The 20 Shoreline Apartment buildings that line the east side of The Trunk feature some of the Middle East
Таким образом, цель этого вопроса на самом деле заключается в том, чтобы у кого-нибудь был надежный способ решить 99% этих глупых проблем с символами в php и XML в тот момент, когда я просто запустил эту строку в php перед записью в XML, и кажется, чтобы получить большинство вещей в порядке, но, очевидно, не все так хорошо, как использование тегов CDATA, которые довольно неэффективны в том, что они должны делать!
function cleanstrings($string, $field, $rw){
$string = $rw[$field];
$string = ereg_replace(8220,""",$string);
$string = ereg_replace(8221,""",$string);
$string = ereg_replace(147,""",$string);
$string = ereg_replace(148,""",$string);
$string = ereg_replace(8216, "'", $string); // left single quote
$string = ereg_replace(145, "'", $string); // left single quote
$string = ereg_replace(8217, "'", $string); // right single quote
$string = ereg_replace(146, "'", $string); // right single quote
$string = ereg_replace(8226, "•", $string); // bullet
$string = ereg_replace(149, "•", $string); // bullet
$string = ereg_replace(8211, "–", $string); // en dash
$string = ereg_replace(150, "–", $string); // en dash
$string = ereg_replace(8212, "—", $string); // em dash
$string = ereg_replace(151, "—", $string); // em dash
$string = ereg_replace(8482, "™", $string); // trademark
$string = ereg_replace(153, "™", $string); // trademark
$string = ereg_replace(169, "©", $string); // copyright mark
$string = ereg_replace(174, "®", $string); // registration mark
return $string;
}
Заранее спасибо за любую помощь, я уверен, что другие люди должны регулярно сталкиваться с этой проблемой!