public static function decode( $context, $text ) { $decoded = ''; $end = strlen( $text ); $at = 0; $was_at = 0; while ( $at < $end ) { $next_character_reference_at = strpos( $text, '&', $at ); if ( false === $next_character_reference_at || $next_character_reference_at >= $end ) { break; } $character_reference = self::read_character_reference( $context, $text, $next_character_reference_at, $token_length ); if ( isset( $character_reference ) ) { $at = $next_character_reference_at; $decoded .= substr( $text, $was_at, $at - $was_at ); $decoded .= $character_reference; $at += $token_length; $was_at = $at; continue; } ++$at; } if ( 0 === $was_at ) { return $text; } if ( $was_at < $end ) { $decoded .= substr( $text, $was_at, $end - $was_at ); } return $decoded; } class WP_HTML_Stack_Event { /** * Refers to popping an element off of the stack of open elements. * * @since 6.6.0 */ const POP = 'pop'; /** * Refers to pushing an element onto the stack of open elements. * * @since 6.6.0 */ const PUSH = 'push'; /** * References the token associated with the stack push event, * even if this is a pop event for that element. * * @since 6.6.0 * * @var WP_HTML_Token */ public $token; /** * Indicates which kind of stack operation this event represents. * * May be one of the class constants. * * @since 6.6.0 * * @see self::POP * @see self::PUSH * * @var string */ public $operation; /** * Indicates if the stack element is a real or virtual node. * * @since 6.6.0 * * @var string */ public $provenance; /** * Constructor function. * * @since 6.6.0 * * @param WP_HTML_Token $token Token associated with stack event, always an opening token. * @param string $operation One of self::PUSH or self::POP. * @param string $provenance "virtual" or "real". */ public function __construct( $token, $operation, $provenance ) { $this->token = $token; $this->operation = $operation; $this->provenance = $provenance; } } Aquatics – Thanyapura Phuket – Sport & Health Resort Phuket Aquatics – Thanyapura Phuket – Sport & Health Resort Phuket

Aquatics at Thanyapura

Thanyapura is a paradise for swimmers and swim teams.

We are Asia’s only FINA accredited training center and offer a complete training experience for swimmers of all ages and skill levels.

We are a preferred destination for national swim teams and triathletes preparing for competitions, intermediate swimmers that want to improve their stroke and technique, and beginners that want to feel comfortable in the water.

Daily group classes, a world class coaching team and phenomenal swim facilities are just a few of the many reasons Thanyapura is the perfect destination.

Swim Activities

Jump in the Olympic 50m pool with our Gold Squad morning group class, or take your first Learn to Swim lesson in our 25m pool with our expert coaches.  Beginner to advanced, or just swim by yourself, we have you covered.

Swimming Instructors

Thanyapura’s multilingual team of swimming instructors have a wide range of specialties, from training Olympic gold athletes to helping babies learn to swim.  Take an >Aquatics Assessment< to judge your skill level and find out which coach best suits you.

Swim Intermediate Camp
Sunset over Thanyapura Swimming Pools

Aquatics Facilities

Thanyapura features an 8 lane 50m Olympic pool and an 8 lane 25m pool.  We offer plenty of swimming equipment including pull boys, hand paddles, fins, stretch cords, Vasa swim ergometer swimming treadmills, Omega starting blocks, water polo goals and daktronics timing on request.

Swimming Hotel Packages

Stay at our hotel and enjoy preferential rates on all swimming activities, and get access to over 100 group classes each week including Yoga, Fitness, Cycling, Swimming and much more.  
25m Pool at Thanyapura

Aquatic Events & Camps

Keep an eye on our events calendar for the next swim meet or camp.  There’s always something on in our pools!  Interested in running your own swim camp or event?  Let us run it for you.

Club Membership

Pool Rental & Group Class Benefits for Members